【C#】泛型篇

泛型类实例化的理论

C#泛型类在编译时,先生成中间代码IL,通用类型T只是一个占位符。在实例化类时,根据用户指定的数据类型代替T并由即时编译器(JIT)生成本地代码,这个本地代码中已经使用了实际的数据类型,等同于用实际类型写的类,所以不同的封闭类的本地代码时是不一样的。

泛型类的静态成员

泛型类中数据类型的约束

泛型中的静态构造函数

泛型类中的方法重载

泛型类的方法重写

总结

C# 泛型是开发工具库中的一个无价之宝。它们可以提高性能、类型安全和质量,减少重复性的编程任务,简化总体编程模型,而这一切都是通过优雅的、可读性强的语法完成的。尽管 C# 泛型的根基是 C++ 模板,但 C# 通过提供编译时安全和支持将泛型提高到了一个新水平。C# 利用了两阶段编译、元数据以及诸如约束和一般方法之类的创新性的概念。毫无疑问,C# 的将来版本将继续发展泛型,以便添加新的功能,并且将泛型扩展到诸如数据访问或本地化之类的其他 .NET Framework 领域。

常用泛型

泛型类或接口描述
Collection< T >、ICollection< T >为泛型容器提供基类
Comparer< T >、IComparer< T >、IComparable< T >比较两个相同的泛型类型的对象是否相等、可排序
Dictionary<K,V>、IDictionary<K,V>表示用键/值对集合
Dictionary<K,V>.KeyCollection表示Dictionary<K,V>中键的集合
Dictionary<K,V>.ValueCollection表示Dictionary<K,V>中值得集合
IEnumerable< T >、IEnumerator< T >表示可以使用foreach迭代的集
KeyedCollection<T,U>表示有键值的集合
LinkedList< T >表示双向链表
LinkedListNode< T >表示LinkedList< T >中的节点
List< T >、IList< T >使用大小可按需动态增加的数组实现IList接口
Queue< T >表示对象的先进先出集合
ReadOnlyCollection< T >为泛型只读容器提供基类
SortedDictionary<K,V>表示键/值对的集合,这些键和值按键排序并可按照键访问,实现IComparer< T >接口
Stack< T >表示对象的简单的后进先出集合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值