C#-泛型

C# 泛型(Generic)

定义:

泛型允许我们延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。也就是说,泛型是可以与任何数据类型一起工作的类或方法。

 

泛型的使用:

当我们的类/方法不需要关注调用者传递的实体是什么,这个时候就可以使用泛型。

    //在普通类上加一个<T>就诞生了泛型类
    internal class Generic<T>    
    { //注意T[],不是int[]或者string[]
        internal T[] array;
    }

 

语法点:

T:类型参数(Type parameter)/占位符(placeholder),约定俗成以T开头

定义构造函数时不需要加上泛型参数

可以有多个类型参数,用,分开,但最好不要太多……

参数命名惯例:使用T(单个参数)或T开头的单词(多个参数)

对于对象而言,一旦T被“具象化”(变量声明/new),就不能再更改

泛型方法/接口/委托,没有泛型enum

  void Swap<T>(ref T a, ref T b){}

 

泛型的特性:

使用泛型是一种增强程序功能的技术,具体表现在以下几个方面:

  • 它有助于实现代码的重用、保护类型的安全以及提高性能。
  • 我们可以创建泛型集合类。在 System.Collections.Generic 命名空间中包含了一些新的泛型集合类。这些类替代 System.Collections 中的集合类。
  • 我么可以自定义:泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
  • 我们还可以对泛型类进行约束以访问特定数据类型的方法。
  • 关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取。

只有使用一个泛型类的时候,才确定了一个类型

            Generic<int> scores = new Generic<int>();
            Generic<string> students = new Generic<string>();

文章转载自:软件开发平台
地址:https://www.hocode.com/

posted @ 2022-02-19 15:01  码上的飞鱼  阅读(72)  评论(0)    收藏  举报