天天看點

什麼是泛型(C#)

所謂泛型是指将類型參數化以達到代碼複用提高軟體開發工作效率的一種資料類型,一種類型占位符,或稱之為類型參數。我們知道一個方法中,一個變量的值可以作為參數,但其實這個變量的類型本身也可以作為參數。泛型允許我們在調用的時候再指定這個類型參數是什麼。在.net中,泛型能夠給我們帶來的兩個明顯好處是——類型安全和減少裝箱、拆箱。   通常一個方法或過程的簽名都是有明确的資料類型的,例 如:

  public void ProcessData(int i){}

  public void ProcessData(string i){}

  public void ProcessData(decimal i){}

  public void ProcessData(double i){}

  等。

  這些方法的簽名中的int ,string,decimal,double都是明确的資料類型,程式員通路這些方法的過程中需要提供提定類型的參數:

  ProcessData(123);

  ProcessData("abc");

  ProcessData("12.12");

  而如果我們将int ,string,decimal,double這些類型也當成一種參數傳給方法的時候方法的定義便是這樣:

  public void ProcessData<T>(T i){} //T是int ,string,decimal,double這些資料類型的指代。

  使用者在調用的時候便成了這樣:

  ProcessData<string>("abc");

  ProcessData<int>(123);

  ProcessData<double>(12.23);

  這與通常的方法定義的最大差別是,方法的定義實作過程隻有一個,但是它具有處理不同的資料類型資料的能力。

繼續閱讀