砖头书《C#高级编程之旅》-2(泛型)
泛型不仅是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.该约束也称为裸类型约束
- 原文作者:大鱼
- 原文链接:https://brucedone.com/archives/323/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。