天天看點

C# 泛型generic的簡單了解

根據MSDN的一段話:泛型(generic)是C#語言2.0和通用語言運作時(CLR)的一個新特性。泛型為.NET架構引入了類型參數(type parameters)的概念。類型參數使得設計類和方法時,不必确定一個或多個具體參數,其的具體參數可延遲到客戶代碼中聲明、實作。使用泛型的類型參數T,避免運作時類型轉換或裝箱操作的代價和風險。

MSDN:《Microsoft Developer Network》(簡稱MSDN),是微軟的一個期刊産品,專門介紹各種程式設計技巧。

generic:一般的,通用的,廣泛的。(泛型:通用的,暫時沒有指明類型,在建立對象時指明類型的一種技術)

舉例:

定義一個類似堆棧存取的類A,在主方法裡進行操作。A中定義的是int數組

C# 泛型generic的簡單了解

可以看到,這裡可以進行int類型資料的存取操作,但是如果是float類型呢,或者string類型呢?我們可以想到把int換成object(代碼略)。那麼,主方法中put時,用到了裝箱,後面做加減(或其他)時用到了拆箱,如果資料量比較大,則就要付出比較大的代價和風險。那怎麼辦呢?-----用泛型

泛型寫法:在類名稱的後面用<T>表示,T表示一種暫未指明的類型,相關的地方用T表示,在類建立對象時才指明資料類型,這樣,就不會産生裝箱拆箱操作,大大提高了效率和安全性。如:

C# 泛型generic的簡單了解

在C#的基礎類庫中,已經有很多泛型,如:

C# 泛型generic的簡單了解