• 知识点 泛型


    1. 基本概念
    所谓泛型,就是创建使用通用(而不是特定)类型的类或方法。
    泛型主要的改进方面:

    • 代码复用。泛型类可以用户任何类型
    • 性能:减少了装箱拆箱过程中的性能损耗
    • 类型安全:如传统的ArrayList可以把任意对象作为参数放在其Add方法中。编译器不考虑这些,所以集合中提取对象时,除非强制类型转换失败,否则我们不知道出了问题。而泛型有内置的类型安全,如果进出泛型集合类时违反了类型检查过则,编译器就会报告错误。
    • 易于阅读

    所有泛型集合都在System.Collection.Generic中。

     2. 泛型约束

    • 什么是泛型约束?
      简而言之,泛型约束主要是对泛型所接受的参数的一些特性进行限制。
    • 为什么要泛型约束?
      更好地控制类型安全
    • 怎么实现泛型约束?(通过5种不同的泛型约束)
      ○ 值类型约束:要求泛型参数必须是值类型,例如int,short以及自定义的stuct等
           public class MyClass2<T>
              where T : struct//这个泛型类只接受值类型的泛型参数
          { 
          }
      ○ 引用类型约束:要求泛型参数必须是引用类型,例如string,object,以及自定义的class
          public class MyClass<T>
              where T:class//这个泛型类只接受引用类型的泛型参数
          { 
          }
      ○   构造函数约束:要求泛型参数必须有构造函数
         public class MyClass3<T>
              where T : new()
          { 
          }
      ○   接口约束:要求泛型参数必须实现某个接口
            public class MyClass4<T>
              where T : System.IComparable
          { 
          }
      ○   基类约束:要求泛型参数必须继承某个基类
         public class MyClass5<T>
              where T : Customer
          { 
          }

     

     

    引自:
    http://www.cnblogs.com/stevenxiao/archive/2008/02/21/1076616.html
    http://www.cnblogs.com/chenxizhang/archive/2008/09/18/1293680.html

  • 相关阅读:
    https协议介绍
    最详尽的fidder抓取https请求
    最详尽的datagrip使用
    datagrip安装与破解
    二叉树
    使用nexus搭建maven私库
    markdown利器-小书匠
    java开发-flyway
    .NetCore 入门
    .Net Core 实体生成器
  • 原文地址:https://www.cnblogs.com/raysbo/p/2834796.html
Copyright © 2020-2023  润新知