C#基本语法-泛型
泛型:一共7个知识点
1.引入泛型和延迟声明
2.如何声明和使用泛型
3.仿制药的好处和原则
4.泛型类、泛型方法、泛型接口、泛型委托
5.通用约束
6.协方差和反演
7.通用缓存
一.为啥会出现泛型,有啥用,啥时候用
为什么有泛型泛型有啥用
问:为什么有仿制药?
答:从根本上讲,在。net1.0,不同的参数要做同样的事情,很多方法都要写。所以微软在2.0中引入了一种新的语法——泛型。
问:?有什么用
答:当泛型出现时,要解决的根本问题是用不同的参数做同一件事的问题。
问:什么时候用?
回答:
1.当您编写几个方法,除了不同的参数之外,它们都做相同的事情时,那么您可以使用泛型方法。
2.当你写了几个类,除了不同的参数,这些类都做同样的事情。此时,您应该使用泛型类。
3.当您编写了几个接口时,除了不同的参数,类都做同样的事情,所以此时使用泛型接口。
4.当您编写几个委托时,除了不同的参数,类都做同样的事情。此时,您应该使用泛型委托。
二.泛型类型
泛型首先介绍的语法。净Framwork2.0
泛型只有4类:泛型方法,泛型类,泛型接口,泛型委托
泛型,不写死参数类型,只在调用时指定类型,叫做【延迟声明】:将参数类型的声明推迟到调用。
发送泛型方法解决问题,用一个方法满足不同的参数类型;做同样的事情
三个。
-一般约束
泛型约束-基类约束(不能密封):
1)您可以调用基类的所有属性方法。
2)可以强制保证T基类或者基类的子类——义务。
四个。
1.1的出现。Net4.0本质上是解决list的父类=List的子类之间的相互转换问题,因为之前只是理论上有意义,编译器会给出一个错误,而协变和反转的出现就是为了解决这个问题。
协方差和反转只能放在接口或委托的泛型参数之前。
3输出协变装饰返回值,反转装饰传入参数
协方差描述:列表父类=列表子类
5逆序描述:列表子类=列表父类
五个。
-通用缓存
一个简单的描述是,每个泛型类都会生成一个副本(即使其中有静态字段和静态方法,这些静态也会生成一个新的副本)。
通用缓存将不被释放。
泛型缓存效率比字典高很多。
插入语法知识:
包装和拆包
每个线程都有一个堆栈,当线程完成运行时,堆栈中的东西需要被释放。值类型存储在堆栈中,存储在堆栈中的引用类型由对象共享。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151769.html