青软实训.NET学习笔记(5)---泛型

1、System.Collections.Generic命名空间-——一个以集合为中心的新命名空间
2、拆箱必须回到合适的数据类型,如果尝试将数据拆箱为不正确的变量,将抛出InvaildCastException异常。
3、在传递给需要Object的方法时,值类型会自动装箱。
4、与非泛型容器相比,泛型容器的一些优势如下:
        泛型提供了更好的性能,因为它们不会导致装箱和拆箱的损耗
        泛型更类型安全,因为它们只包含我们指定的类型
        泛型大幅减少了构建自定义集合类型的需要,因为基础类库提供了几个预制的容器。
5、在.NET基础类库的每个命名空间中几乎都可以看到泛型类、接口、结构和委托。(枚举类型不可以使用泛型)
6、为泛型项指定了类型参数后,就不能更改了(泛型是类型安全的);在泛型类或结构指定类型参数时,所有的占位符都将替换成你提供的值。
7、初始化整数的泛型List<>
   List<int>  myInt=new List<int>{0,1,2,3,4,5,6,7,8,9};
8、创建自定义泛型方法:
       //该方法可以交换任意俩个由类型参数<T>指定的项
        static void Swap<T>(ref T a,ref T b)
         {
              Console.WriteLine("You sent the Swap() method a {0}",typeof(T));
              T  temp;
             temp = a;
            a  = b;
            b = temp;
          }
       注意,在定义泛型方法时,类型参数在方法名称之后、参数列表之前进行指定。
9、最佳实践:在调用诸如Swap<T>之类的泛型方法时,当(且仅当)泛型方法需要参数时,我们可以选择省略类型参数,因为编译器会基于成员参数推断类型参数。但是我们应该养成显示指定类型参数的习惯。
10、泛型类可以作为其他类的基类,它可以定义许多虚方法和抽象方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值