一、泛型
假设我要写个公用的输出传入参数的方法(不用泛型),因为万物皆对象的理由,我先定义一个方法show(object obj),如下面所示:
public static void Show(object obj) { Console.WriteLine(obj.ToString()); }
执行这个方法
int i = 1; //装箱 Show(i);
如果传入的是值类型,值类型转换为引用类型,我们知道会发生装箱,这是对性能的损害,想想如果是个集合,就得多次执行装箱、拆箱操作。如ArrayList类,ArrayList储存对象,Add()方法定义为需要把一个对象作为参数,如果传入的值类型,就得装箱,在读取ArrayList中的值时,又得进行拆箱,如下面代码所示:
var list = new ArrayList(); &n