什么是类型安全?
这是什么意思,为什么重要?
最佳答案
如果您问一般中“类型安全”的概念是什么意思,代码的特性允许开发人员确定一个值或对象将表现出某些属性(即,属于某种类型),以便他/她可以以特定方式使用它,而不必担心意外或未定义的行为。
例如,在 C# 中,您可以说 ArrayList
类不是类型安全的,因为它可以存储任何对象,这意味着您可以执行如下操作:
var integers = new ArrayList();
integers.Add(1);
integers.Add(2);
integers.Add("3");
for (int i = 0; i < integers.Count; ++i) {
int integer = (int)integers[i];
// do something
}
上面的代码可以编译,因为值“3”即使是字符串而不是整数,也可以合法地添加到 ArrayList
中。自 String
从 Int32
派生(如 Object
) .但是,它会抛出 InvalidCastException
。当您尝试设置 integer
至 (int)integers[2]
因为 String
不能转换到Int32
.
另一方面,List<T>
类是类型安全的原因恰恰相反——即,如果integers
,上面的代码将不编译。是List<int>
.开发人员从类型安全的 List<int>
中访问的任何值你可以确定是int
(或任何相应的 T
是任何通用的 List<T>
);因此,您可以确定您将能够执行诸如转换为 int
的操作。 (显然)或者说 long
.
关于c# - .net 中的类型安全是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2437469/