C 泛型是什麼

2021-08-25 04:41:06 字數 433 閱讀 9284

泛型聽起來很高深的乙個詞,但實際上它的作用很簡單,就是提高c#程式的效能。

比如在計算機中經常用到一些資料結構,如佇列,鍊錶等,而其中的元素以前一般這麼定義:object a=new object();

這樣就帶來乙個嚴重的問題,用object來表示元素沒有邏輯問題,但每次拆箱、封箱就占用了大量的計算機資源,導致程式效能低下,而這部分內容恰恰一般都是程式的核心部分,如果使用object,那麼程式的表現就比較糟糕。

而使用泛型則很好的解決這個問題,本質就是在編譯階段就告訴編譯器,資料結構中元素的種類,既然編譯器知道了元素的種類,自然就避免了拆箱、封箱的操作,從而顯著提高c#程式的效能。

比如list就直接使用string物件作為list的元素,而避免使用object物件帶來的封箱、拆箱操作,從而提高程式效能。

可以自己編個小例子體驗一下在使用資料結構時的情形,自然就理解了。

泛型是什麼

類似c 的模板template c 的泛型是在例項的方法被呼叫時檢查過載是否產生混淆,而不是在泛型類本身編譯時檢查。同時還得出乙個重要原則 當一般方法與泛型方法具有相同的簽名時,會覆蓋泛型方法。泛型中的靜態成員變數 在c 1.x中,我們知道類的靜態成員變數在不同的類例項間是共享的,並且他是通過類名訪...

泛型是什麼?

泛型用乙個通用的資料型別t來代替object,在類例項化時指定t的型別,執行時 runtime 自動編譯為本地 執行效率和 質量都有很大提高,並且保證資料型別安全。如果不使用泛型,可能出現的問題 如果傳的int型別引數,要寫乙個方法。如果傳string型別引數,還要寫乙個方法。public clas...

泛型簡析 一 泛型是什麼?

泛型,即 不確定的引數型別 使 可應用於多種不同的型別,而不再是僅限於一種確定的型別。泛型使我們可以通過引數確定類要使用的型別。泛型類泛型類的定義需要將型別引數列表放在類名的後面 class classname 例 public class test public void sett t t pub...