一、概念
1.1 泛型
泛型是什么?
书本告诉我们泛型是通过通过参数化类型的方法在同一份代码上对多种数据类型进行调用。也即是说,如果同一个代码需要使用不同的数据类型的话就可以定义一个泛型的类或者方法。
泛型的优点是什么?
1.通过使用泛型类或泛型方法,可显著提高代码的重用性。
2.创建泛型类,可在编译时创建类型安全的集合。
3.避免装箱和拆箱操作降低性能,在大型集合中装箱和拆箱的影响非常大,时间成倍减少。
1.2 泛型类
简单的说,就是定义一个不知道参数类型的类,然后在实际调用时才对类型进行定义。
首先声明一个Food类,T表示参数类型。其中定义两个T类型的变量。
class Food<T>{public T Rice { get; set; }public T Number{ get; set; }}
调用类Food可以指定类型对其进行调用。
Food<string> food = new Food<string>();
food.Rice = "东北大米";Food<int> food1 = new Food<int>();
food1.Number = 20;Console.WriteLine("Rice:{0},Number:{1}",food.Rice,food1.Number);
1.3 泛型方法
声明一个参数类型未知的方法,在调用的时候才对其进行赋值。
static void Mix<T>(T a,T b, T c){c=a+b;Console.WriteLine(c);}
调用:
Mix < int >(1, 3, 5);Mix <string>("火锅底料", "毛肚", "脆肠");
二、小知识点
- 分别使用ArrayList和List进行赋值,List运行时间更短。原因是使用ArrayList时内存需进行装箱拆箱,性能损耗严重。使用泛型时,添加或读取数据都是用的是同一类型。