博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

泛型概述

Posted on 2011-08-27 13:47  枫之一刀  阅读(154)  评论(0编辑  收藏  举报

CLR2.0的一个新特性就是泛型。在CLR1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就必须以Object类为基础。而Object类在编译期间没有类型安全性。因此必须进行强制类型转换。另外,给值类型使用Object类会有性能损失。

CLR2.0(.Net 3.5 基于CLR2.0)提供了泛型。有了泛型,就不需要Objcet类。

System.Collections.Generic命名空间中的List <T>类不使用对象,而是在使用定义类型。

泛型优点1:性能。

泛型优点2:类型安全

如果在ArrayList类中添加一个整数、一个字符串、一个MyClass类型的对象,如果这个集合使用Foreach语句迭代并转换为Int那么会出现异常。

在泛型类List<T>中,泛型类型T定义了允许使用的类型。有了List<int>的定义。就只能吧整数类型添加到集合中。

泛型优点3:二进制代码的重用。

泛型允许更好地重用二进制代码。泛型类定义一次,用许多不同的类型实例化。

泛型类型可以在一种语言中定义,在另一种.Net 语言中使用。

泛型优点4:代码扩展。