泛型(C# 編程指南)

來源:互聯網
上載者:User
C# 編程指南  : http://msdn.microsoft.com/zh-cn/library/512aeb7t(VS.80).aspx泛型(C# 編程指南)

泛型是 2.0 版 C# 語言和公用語言運行庫 (CLR) 中的一個新功能。泛型將型別參數的概念引入 .NET Framework,型別參數使得設計如下類和方法成為可能:這些類和方法將一個或多個類型的指定延遲到用戶端代碼聲明並執行個體化該類或方法的時候。例如,通過使用泛型型別參數 T,您可以編寫其他用戶端代碼能夠使用的單個類,而不致引入運行時強制轉換或裝箱操作的成本或風險,如下所示:

C# 複製代碼
// Declare the generic classpublic 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。

  • 您可以建立自己的泛型介面、泛型類、泛型方法、泛型事件和泛型委派。

  • 可以對泛型類進行約束以訪問特定資料類型的方法。

  • 關於泛型資料類型中使用的類型的資訊可在運行時通過反射擷取。

相關章節

更多資訊:

  • 泛型介紹(C# 編程指南)

  • 泛型的優點(C# 編程指南)

  • 泛型型別參數(C# 編程指南)

  • 型別參數的約束(C# 編程指南)

  • 泛型類(C# 編程指南)

  • 泛型介面(C# 編程指南)

  • 泛型方法(C# 編程指南)

  • 泛型委派(C# 編程指南)

  • 泛型代碼中的預設關鍵字(C# 編程指南)

  • C++ 範本和 C# 泛型之間的區別(C# 編程指南)

  • 泛型和反射(C# 編程指南)

  • 運行庫中的泛型(C# 編程指南)

  • .NET Framework 類庫中的泛型(C# 編程指南)

  • “泛型”樣本 (C#)

C# 語言規範

有關更多資訊,請參見 C# 語言規範中的以下各章節:

  • 20 泛型

請參見參考
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.