C#高级编程第五章读书笔记-泛型

1.泛型具有更好的性能。
 ArrayList test1 = new ArrayList();
            test1.Add(1);
            test1.Add("1");
            test1.Add(1.45);

            List<int> test2=new List<int>();
            test2.Add(1);
            test2.Add(2);
            test2.Add(3); 
使用ArrayList,每次添加都是增加的对象,需要对值类型进行装箱操作;第二种写法不需要进行装箱操作

2.类型安全

使用泛型后,增加的元素都是指定的数据类型,因此我们很清除每个元素的类型,而ArrayList就不行

3.泛型能够更好地重用二进制代码

4.default关键字的使用


5.泛型约束

接口约束:


其他约束:



6.泛型类可以派生自泛型基类

 public class Base<T>
        {
            
        }       
        public class Implente2<T>:Base<T>
        {
            
        }
        public class Implente3<T> : Base<int>
        {

        }
        public class Implente1 : Base<int>
        {

        }

7.泛型类中的静态成员,静态成员属于类,不属于具体实例,


8.泛型接口

。。。不大懂

9.抗变和协变

在.net4之前,泛型接口是不变的。在.net中参数类型是协变的,方法的返回类型是抗变的,

10.泛型接口的协变和抗变

。。。

11.泛型结构

于类相似,结构也可以是泛型的,知识没有继承特性

可空类型的写法



可空类型和非可空类型的转换


12.泛型方法

。。。。

13.带约束的泛型

。。。。。

14.带委托的泛型

。。。。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值