• 泛型--Generic


    .net framework 2.0推出的新语法

    适用于:用一个泛型方法,满足不同参数类型,做相同的事情

    延迟声明:把参数类型的声明推迟到调用

    不是语法糖,而是由框架升级提供的功能

    public void GenericMethod<T>(T tParameter){...}; //也可以使用别的字符代表泛型,不能使用关键字,可以使用中文

    调用:GenericMethod<int>(1); 或者 GenericMethod(1);//省略<int>时,会自动根据参数类型判定

    泛型需要编译器支持+JIT支持

    泛型使用的是占位符操作  ~1代表一个占位符

    泛型的性能和普通方法差不多~但好处多多

    几种用法:

    泛型类继承(接口同理):

    泛型约束(constraint):

    基类约束(限定为People类或其子类):

    注:作为约束使用的类型必须是接口、非密封类或类型参数

    其中 T tNew = default(T); 会根据T的不同 赋予默认值

    上面几种类型约束可以叠加使用(部分),用逗号分隔

    协变

    逆变

    泛型缓存

    每个不同类型的T,都会生成一份不同的副本

    适合不同类型需要缓存一份数据的场景,效率高(缓存直接存放在内存中,用的时候直接拿)

    不能主动释放,直到程序关闭

  • 相关阅读:
    SpringBoot笔记
    SpringBoot面试篇
    多线程篇
    Tomcat篇
    Redis篇
    Nginx篇
    JVM篇
    MySQL篇
    python ETL工具 pyetl
    python通用数据库操作工具 pydbclib
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/11626316.html
Copyright © 2020-2023  润新知