泛型是C#2.0的新增特性,通过泛型我们可以创建类型安全的数据类型,它最普遍的就是用在创建集合类,可以约束集合类的元素的类型,这样就保证了类型的安全,不是指定类型不能添加到该集合中。在ArrayList中,添加元素时都是Object类型,如果要添加一个值类型,需要把它转换成引用类型,这样就增多了程序的装箱、拆箱操作。List<T>的访问、添加、删除用法类似与ArrayList(ArrayList用法请见前一篇文章),T对集合中的元素进行约束,表明集合中元素的类型。
在C#中还有一种泛型集合Dictionary<K,V>,看到这个不知道大家会不会想起前一篇文章提到的Hastable。对没错他存储数据的方式类似与哈希表,也是通过键/值对来存取的。它具有泛型的所有特性,类型约束,无须类型转换。声明方式如:Dictionary<String,name> name=new Dictionary<String,name>();。当然它的增加、删除、遍历方法也和Hastable相同。
泛型的主要应用之一就是泛型集合,它具备一般集合没有的特性,它类型安全,无须装箱拆箱,只要掌握了集合的操作方法,操作泛型集合的方法也就变得异常简单了。