C#基础语法之-泛型

技术C#基础语法之-泛型 C#基础语法之-泛型泛型:一共7个知识点
1.引入泛型,延迟声明
2.如何声明和使用泛型
3.泛型的好处和原理
4.泛型类,泛型方法,泛型接口,泛型委托
5.泛型约束
6.协变

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

(0)

相关推荐

  • 交管网12123,交管12123到底是什么东西

    技术交管网12123,交管12123到底是什么东西交管12123是一款手机APP,该平台开通后,群众实名注册开通账号后,可享受互联网交通安全综合服务管理平台提供的驾考和车检预约交管网12123、办牌办证、违法处理和罚款缴

    生活 2021年10月30日
  • JavaScript工作体系中不可或缺的函数是什么

    技术JavaScript工作体系中不可或缺的函数是什么本篇内容主要讲解“JavaScript工作体系中不可或缺的函数是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Jav

    攻略 2021年11月29日
  • arctanx的值域,arctanx的极限怎么求

    技术arctanx的值域,arctanx的极限怎么求arctanx的极限用洛必达法则求解。洛必达法则是在一定条件下通过分子分母分别求导再求极限来确定未定式值的方法。众所周知arctanx的值域,两个无穷小之比或两个无穷大

    生活 2021年10月25日
  • QT+树莓派如何实现一个简单的播放器

    技术QT+树莓派如何实现一个简单的播放器这篇文章给大家介绍QT+树莓派如何实现一个简单的播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。说起树莓派,买了也有一段时间了,但是始终都没有做出什么好玩

    攻略 2021年11月19日
  • 在这里不得不说一下我们的ADAMoracle预言机

    技术在这里不得不说一下我们的ADAMoracle预言机 在这里不得不说一下我们的ADAMoracle预言机说到预言机,可能很多人都会懵圈,都会疑惑,这是个啥我怎么没听过区块链为什么需要预言机因为预言机可

    礼包 2021年11月13日
  • http工具类 james

    技术http工具类 james http工具类 jamespackage com.shsnc.south.znpact.server.util;import com.shsnc.south.znpact

    礼包 2021年11月15日