Net Core教程

C#学习笔记(4):泛型

本文主要是介绍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#学习笔记(4):泛型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!