“类型安全”简单说来就是:没有泛型之前,如果你把int,string,class类型都通过Add()方法添加到一个集合类中,这样明显不可以的,但是编译器在编译时却发现不了这个问题,非得要执行是才报错。有了泛型之后,如果你把string添加到List<int>中,那么在编译期间,IDE就会给你报错。
//以下代码会在运行时出现错误
ArrayList list = new ArrayList();
list.Add(4);
list.Add("myString");
list.Add(new MyClass);
foreach(int item in list)
{
Console.WriteLine(item);
}
//以下代码会在编译期间就报错
List<int> list = new List<int>();
list.Add(4);
list.Add("myString")
list.Add(new MyClass);