zoukankan      html  css  js  c++  java
  • 泛型

    泛型是framework2.0版本推出的,编译时候不确定类型(占位符),但是运行时候类型是确定的
    严格来说不是语法糖,是因为框架升级支持的(既需要编译器升级,也需要clr升级),属于多态

    完整运行过程
    c#代码->编辑器编译->exe->CLR(运行)/JIT(再次编译)>机器码

    泛型约束类型:

    基类约束,

    接口约束,

    引用类型约束,

    值类型约束,

    无参数构造函数约束

     可以有多个约束

    协变逆变:都是跟泛型相关,只能放在接口或者委托的泛型参数前面

    协变 :<out T>  简单说 就是可以让右边用子类 , T只能是返回结果,不能作为参数传递

             IEnumerable<Parent> list1=new List<Parent>(); IEnumberable<Parent> list2=new List<Children>();

    逆变:<in T> 右边的可以用父类,只能是参数

  • 相关阅读:
    linux运维、架构之路-MySQL主从复制
    多线程
    IO
    查看信息
    乱码
    字节流与字符流
    file
    JDBC
    规范
    Java常用包
  • 原文地址:https://www.cnblogs.com/mc-hui/p/12821760.html
Copyright © 2011-2022 走看看