一、概念
1.1 泛型
泛型是什么?
書本告訴我們泛型是通過通過參數化類型的方法在同一份代碼上對多種數據類型進行調用。也即是說,如果同一個代碼需要使用不同的數據類型的話就可以定義一個泛型的類或者方法。
泛型的優點是什么?
1.通過使用泛型類或泛型方法,可顯著提高代碼的重用性。
2.創建泛型類,可在編譯時創建類型安全的集合。
3.避免裝箱和拆箱操作降低性能,在大型集合中裝箱和拆箱的影響非常大,時間成倍減少。
1.2 泛型類
簡單的說,就是定義一個不知道參數類型的類,然后在實際調用時才對類型進行定義。
首先聲明一個Food類,T表示參數類型。其中定義兩個T類型的變量。
class Food<T>{public T Rice { get; set; }public T Number{ get; set; }}
調用類Food可以指定類型對其進行調用。
Food<string> food = new Food<string>();
food.Rice = "東北大米";Food<int> food1 = new Food<int>();
food1.Number = 20;Console.WriteLine("Rice:{0},Number:{1}",food.Rice,food1.Number);
1.3 泛型方法
聲明一個參數類型未知的方法,在調用的時候才對其進行賦值。
static void Mix<T>(T a,T b, T c){c=a+b;Console.WriteLine(c);}
調用:
Mix < int >(1, 3, 5);Mix <string>("火鍋底料", "毛肚", "脆腸");
二、小知識點
- 分別使用ArrayList和List進行賦值,List運行時間更短。原因是使用ArrayList時內存需進行裝箱拆箱,性能損耗嚴重。使用泛型時,添加或讀取數據都是用的是同一類型。