您的位置:首页 > 编程语言 > C#

C#泛型

2020-08-06 10:33 1391 查看


为什么会出现泛型,首先泛型是在C#2.0出现的一个语法糖,在C#1.0前,所有基于不同类型实现的泛型的功能都要单独的实现
这就给程序造成了很大程度上的cpu消耗,那么也可以想到通过object去实现,没错,object确实是所有类型的基类,值类型参数或者是
引用类型参数都可以将参数传进去,子类沿用父类的方法、行为以及属性
分为泛型类,泛型方法,泛型接口、泛型委托。消费者提供不同的参数类型进行一个占位的操作。
也就是说对于任何一个泛型类或泛型方法来说,接收到不同的参数类型就可以实现不同的功能,但是别忘了还存在一个拆箱的操作在里面
对于程序的性能也产生了许多消耗。
所以,泛型的出现对程序很大程度上减少了代码的冗余以及对提高了程序的一个效率。
泛型、普通类型、object类型运行效率对比:泛型最快、普通类型其次、object类型最慢
泛型是延迟声明的,所谓延迟声明就是不会立即声明类型参数,而是在调用运行时,进行类型参数的声明
泛型在声明时不需要指定类型参数,在使用时必须要指定类型参数,如果子类也是泛型类,那么在使用时也可以不指定类型参数
关于泛型约束,就是类型参数T必须遵循一定的规则,比如说必须继承某个类,实现某个接口
加个where关键字可以对参数类型T指定约束条件
在此基础泛型又分为开放式泛型和封闭式泛型。
关于开放式泛型,在程序运行时例如一个泛型方法

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: