当前位置:  开发笔记 > 编程语言 > 正文

如果c#是类型安全语言,那么为什么允许它使用dynamic和object关键字更改对象的类型?

如何解决《如果c#是类型安全语言,那么为什么允许它使用dynamic和object关键字更改对象的类型?》经验,为你挑选了1个好方法。

为什么在C#中允许这样做?

dynamic abc = 123;
abc = 'ashwin';

我们正在运行时更改对象的类型,但是我们知道C#是类型安全的,那么为什么它允许我们这样做?

看一下编译器输出:



1> Konrad Rudol..:

简而言之,因为C#要求您明确地说“我知道以下操作将不同类型的值视为相同,所以请继续进行”。编译器不允许您“意外地”统一对待不同类型,您必须显式指定-通过使用(通用)超类(例如)object,或使用dynamic关键字将类型检查推迟到运行时。

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有