首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> C# 入門

C# 泛型完整指南:類/方法/委托/約束/反射與性能優勢

     編輯:C# 入門

C# 泛型完整指南:類/方法/委托/約束/反射與性能優勢

泛型允許推遲數據類型具體化到實際使用時,編寫一次代碼服務多類型,實現代碼復用、類型安全與性能提升(避免裝箱/拆箱)。

泛型類示例

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 類庫現代化基石,掌握它能編寫更健壯、高效的庫級代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved