通常說泛型,比如List<T>是類型安全的,為什么這么說呢?
先來看一個類型不安全的例子。
class PRogram{static void Main(string[] args){var tempArr = new ArrayList();tempArr.Add(1);tempArr.Add("2");foreach (var item in tempArr){int tempInt = (int) item;Console.WriteLine(tempInt);}Console.ReadKey();}}
可以往ArrrayList實例中添加任何類型。但在遍歷集合轉換的時候,會拋出一個轉換異常。
如果使用List<T>泛型呢?
class Program{static void Main(string[] args){List<int> tempArr = new List<int>();tempArr.Add(1);tempArr.Add(2);foreach (var item in tempArr){int tempInt = (int) item;Console.WriteLine(tempInt);}Console.ReadKey();}}
用List<int>后,關于類型安全,有2個體會:
1、如果使用tempArr.Add("3"),這在編譯期就不通過
2、在進行類型轉換的時候不會拋出異常
新聞熱點
疑難解答