C#中的泛型

     发布时间:2022-03-28 18:29:56

C#中的泛型

泛型是专门为多段代码在不同的数据类型上执行相同指令的情况专门设计的。
用白话说就是,设计一个泛型类型代码,它能接受很多类型,可以根据业务逻辑变化而使用不同的类型对象来操作。

什么是泛型

泛型特性提供了一种更优雅的方式,可以让多个类型共享一组代码。
泛型可以声明类型参数化的代码,可以用不同的类型进行实例化。其实就是可以用类型占位符来写代码,然后在创建类的实例时指明真实的类型。
类型不是对象,而是对象的模版。

C#提供5种泛型:类、结构、接口、委托和方法。其中前4个是类型,而方法是成员。

public class Person<T> 
{
    public T Value { get; set; }
    
    public T GetValue(T value) 
    {
        return value;
    }
}

上面代码中的T就是代表一种泛型的占位符,我们可以使用这种占位符来定义泛型对象,在被调用的时候传入对应的类型就OK。

使用的时候

Person<string> p = new Person<string>();

相当于类型

public class Person
{
    public string Value { get; set; }
    
    public string GetValue(string value) 
    {
        return value;
    }
}