首页 > 编程 > C# > 正文

为什么说C#是类型安全的

2023-05-20 20:23:38
字体:
来源:转载
供稿:网友

在C++中拥有一个指针,您能zi you地把它强制转换成为任何类型,包括干出诸如把一个int*(整型指针)强制转换成一个double *(双精度指针)这样的傻事。只要内存支持这种操作,它就"干过"。这并不是您所想象的企业级编程语言的类型安全。

纲要性的问题,C#实施最严ge的类型安全,以保护自己及垃圾收集器(garbage collector)。所以必须遵守C#中一些相关变量的规则:

您不能使用没有初始化的变量。对于对象的成员变量,编译器负责清零。而局部变量,则由您负责清零。当您使用一个没有初始化的变量时,编译器会教您怎么做。优点是能够避免由于使用不经初始化的变量计算结果而导致的错误,而您还不知道这些奇怪的结果是如何产生的。

C#取消了不安全的类型转换。不能把一个整型强制转换成一个引用类型(如对象),而当向下转换时,C#验证这种转换是正确的。(也就是说,派生类真的是从向下转换的那个类派生出来的。)

边界检查是C#的一部分。再也不会出现这种情况:当数组实际只定义了n-1个元素,却超额地使用了n个元素。

算术运算有可能溢出终值数据类型的范围。C#允许在语句级或应用程序级检测这些运算。在允许检测溢出的情况下,当溢出发生时将会抛出一个异常。

在C#中,被传递的引用参数是类型安全的。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表