A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lyz1024 黑马帝   /  2012-1-13 23:34  /  1753 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C#的泛型一般在什么样的情况下才使用泛型呢?还有泛型集合的存在哪些问题呢?

2 个回复

倒序浏览
2.0 版 C# 语言和公共语言运行时 (CLR) 中增加了泛型。泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。例如,通过使用泛型类型参数 T,您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险
public class GenericList<T>
{
    void Add(T input) { }
}
class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
                GenericList<int> list1 = new GenericList<int>();

             GenericList<string> list2 = new GenericList<string>();

              GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
    }
}

使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。

泛型最常见的用途是创建集合类。

.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。 应尽可能地使用这些类来代替普通的类,如 System.Collections 命名空间中的 ArrayList。

您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。

可以对泛型类进行约束以访问特定数据类型的方法。

关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取。

回复 使用道具 举报
关于泛型,只能学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马