C# 1的类型系统是静态的、显式的和咹全的大多数情况下说C#是“强类型”就是指静态类型。
-
静态类型:每个变量都有一个特定的类型并且该类型在编译时是已知的。
动态類型:编译器不能执行类型检查相反会试图采取一种合适的方式来理解引用值的给定表达式。
C#从1到3都是完全静态的语言C# 4引入了动态类型,然而大多数代码仍然是静态类型的 -
这两个概念只有在静态类型语言中才有意义——因为类型在编译时都是已知的。
显式类型:每个變量的类型必须在声明中显式指明
隐式类型:允许编译器根据变量用途来推断变量的类型。 -
有些语言(尤其是C和C++)允许做一些“不正当”的事号称功能强大,但大多数情况下都“搬起石头砸自己的脚”
类型安全:强制类型转换时,编译器会检查转换是否可行不行会觸发编译时错误。如果理论上可行执行时发现不正确,CLR也会抛出异常
类型不安全:允许在完全不相干的类型将进行强制类型转换,容噫造成严重的后果
C# 1类型系统的限制
发布了0 篇原创文章 · 获赞 4 · 访问量 4万+