砖头书《C#高级编程之旅》-2(泛型)

举报
~大鱼~ 发表于 2021/05/28 02:47:53 2021/05/28
【摘要】 泛型不仅是C#编程语言的一部分,而合且是与程序集中的IL代码紧密地集成。有了泛型,可以创建独立于被包含类型的类和方法。   1.性能   个人理解,在使用泛型的时候,你在规定了数据的类型,那相当在执行方法时,没有去使用装箱与拆箱的动作,这样对于程序的性能有很大的提高    2.命名的约定 泛型的名称用字母T作为前缀 如果没有特殊的要求,...

泛型不仅是C#编程语言的一部分,而合且是与程序集中的IL代码紧密地集成。有了泛型,可以创建独立于被包含类型的类和方法。

 

1.性能

 

个人理解,在使用泛型的时候,你在规定了数据的类型,那相当在执行方法时,没有去使用装箱与拆箱的动作,这样对于程序的性能有很大的提高 

 

2.命名的约定

泛型的名称用字母T作为前缀

如果没有特殊的要求,泛型类型允许用任意类型替代,且使用了一个泛型类型,就可以用字符T做为泛型类型的名称。

public class List {}

public class LinkedList{}

 

public class MyList where T:struct
{
public MyList()
{

}
public MyList(T value)
{
this.Value = value;
}
public T Value { get; set; }
}

3.泛型的约束

where T:stuct T必须是值类型

where T:class T必须是引用类型

where T:IFoo  T必须实现接口Ifoo

where T:Fo     T必须是Fo的子类

where T:new() T必须有一个默认的无参构造函数(有多个约束的时候,new 放在最后)

where T1:T2    类型T1派生自泛型类型T2.该约束也称为裸类型约束

 

文章来源: brucedone.com,作者:大鱼的鱼塘,版权归原作者所有,如需转载,请联系作者。

原文链接:brucedone.com/archives/323

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。