一、泛型
假設(shè)我要寫個公用的輸出傳入?yún)?shù)的方法(不用泛型),因為萬物皆對象的理由,我先定義一個方法show(object obj),如下面所示:
public static void Show(object obj) { Console.WriteLine(obj.ToString()); }
執(zhí)行這個方法
int i = 1; //裝箱 Show(i);
如果傳入的是值類型,值類型轉(zhuǎn)換為引用類型,我們知道會發(fā)生裝箱,這是對性能的損害,想想如果是個集合,就得多次執(zhí)行裝箱、拆箱操作。如ArrayList類,ArrayList儲存對象,Add()方法定義為需要把一個對象作為參數(shù),如果傳入的值類型,就得裝箱,在讀取ArrayList中的值時,又得進行拆箱,如下面代碼所示:
var list = new ArrayList(); &n