C#学习笔记(4):泛型
作者:互联网
以《C#6.0本质论(Essential C# 6.0)》为基本,参考《深入解析C#(C# in Depth, 4th Edition)》、《C#图解教程(Illustrated C# 7, 5th Edition)》。圆括号内是本质论书中位置、方括号是个人补充
泛型的优点
- 泛型促进了类型安全(P314)
- 避免了装箱和开箱,提高了性能、减小了内存消耗(P314)
泛型的应用
默认值的指定
多个类型参数
Tuple
Nulleable
泛型约束
接口约束
类类型约束
结构约束
类类型约束和结构约束不能同时使用(P323)
可空类型不符合struct约束(P323)
构造器约束
只针对默认构造器(P327)
其它
委托类型、数组类型和枚举类型不能在基类约束中使用,因为它们实际全是”密封“类型(P327)
泛型方法
类型推断:编译器根据传给方法的实参推断出类型(P330)
协变和逆变
泛型的内部机制
CIL代码(P337)
基于值和基于引用的泛型的实例化(P338)
标签:C#,笔记,约束,类型,6.0,泛型,本质论 来源: https://www.cnblogs.com/RicardoIsLearning/p/16157128.html