泛型 (C# 程式設計手冊)

泛型是 C# 語言和 Common Language Runtime (CLR) 2.0 版的新功能。泛型將型別參數的概念引進 .NET Framework 中,使得類別和方法在設計時,可以先行擱置一或多個型別規格,直到用戶端程式碼對類別或方法進行宣告或執行個體化時再行處理。例如,您可以使用泛型型別參數 T,撰寫一個單一類別供其他用戶端程式碼使用,而不會在執行階段產生轉型或 boxing 作業的成本或風險,如下所示:

// Declare the generic class
public class GenericList<T>
{
    void Add(T input) { }
}
class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int
        GenericList<int> list1 = new GenericList<int>();

        // Declare a list of type string
        GenericList<string> list2 = new GenericList<string>();

        // Declare a list of type ExampleClass
        GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
    }
}

泛型概觀

  • 使用泛用型別以最佳化程式碼重複使用、型別安全性和效能。

  • 泛型的最常見用法是建立集合類別。

  • .NET Framework 類別庫包含 System.Collections.Generic 命名空間中的數種新泛用集合類別。在任何可能的情況下都應該使用這些類別取代類別 (例如在 System.Collections 命名空間中的 ArrayList)。

  • 您可以建立自己的泛用介面、類別、方法、事件和委派 (Delegate)。

  • 泛用類別可能會被限制為啟用對特定資料型別上的方法進行存取。

  • 在泛型資料型別中使用的型別資訊,可以在執行階段透過反映取得。

相關章節

C# 語言規格

如需詳細資料,請參閱 C# 語言規格中的下列章節:

  • 20 泛型

請參閱

顯示: