泛型允許推遲數據類型具體化到實際使用時,編寫一次代碼服務多類型,實現代碼復用、類型安全與性能提升(避免裝箱/拆箱)。
public class MyGenericArray{ private T[] array; public MyGenericArray(int size) => array = new T[size+1]; public T GetItem(int i) => array[i]; public void SetItem(int i, T val) => array[i] = val; } // 使用 var intArr = new MyGenericArray (5); var charArr = new MyGenericArray (5);
輸出:0 5 10 15 20 / a b c d e
System.Collections.Generic 提供泛型集合替代舊 ArrayList 等where T : class 等)static void Swap(ref T lhs, ref T rhs) { T t = lhs; lhs = rhs; rhs = t; } Swap (ref a, ref b); Swap (ref c, ref d);
delegate T NumberChanger(T n); NumberChanger nc1 = new NumberChanger (AddNum); nc1(25); // 類型安全調用
泛型是 .NET 類庫現代化基石,掌握它能編寫更健壯、高效的庫級代碼。