1. 程式人生 > >為什麼要使用泛型,泛型有什麼優勢?

為什麼要使用泛型,泛型有什麼優勢?

為什麼要用泛型呢?

博主覺得泛型的主要優勢有以下幾點:

(1)保證了型別的安全性:泛型約束了變數的型別,保證了型別的安全性。例如List<int>和ArrayList。List<int>集合只能加入int型別的變數,ArrayList可以Add任何常用型別,編譯的時候不會提示錯誤。

(2)避免了不必要的裝箱、拆箱操作,提高程式的效能:泛型變數固定了型別,使用的時候就已經知道是值型別還是引用型別,避免了不必要的裝箱、拆箱操作。

舉例說明:

使用泛型之前,我們使用object代替。

object a=1;//由於是object型別,會自動進行裝箱操作。

int b=(int)a;//強制轉換,拆箱操作。這樣一去一來,當次數多了以後會影響程式的執行效率。

使用泛型之後

public static T GetValue<T>(T a)
{
  return a;
}

public static void Main(string[] args)
{
  int b=GetValue<int>(1);//使用這個方法的時候已經指定了型別是int,所以不會有裝箱和拆箱的操作。
}

(3)提高方法的複用性。上面的例子基本能說明這個優勢。