C#中的泛型(部分应用)

泛型(Generic) 顾名思义:就是广泛的类型。在不确定使用什么类型时先占用一个类的位置。

语法:泛型类<T>     其中T表示未知类型(可能是:string,int,bool......)作为一个占位符,代替实际的类型,一般常用泛型标识:T,K。

public class Generic<T>//泛型方法:让方法也支持多种类型

{  

  //数据类型是泛型T[]
  public T[] array//如果T=int,就是int[],如果string,就是string[]

  {

    get { return array; } 

  }

  //设置形参是泛型

  public void setItem(int index ,T item)
  {
    array[index] = item;
  }

  public static void Add<T>(T x,T y)
  {
    Console.WriteLine($"x:{x},y:{y}");
  }

  //设置返回值是泛型

  public T getItem(int index)
  {
    return array[index];
  }

}

1.实例化泛型类
  Generic<int> generic = new Generic<int>(3);
  generic.setItem(0, 10);
  generic.setItem(1, 20);
  generic.setItem(2, 20);
  foreach (var item in generic.Array)
  {
    Console.WriteLine(item);
  }

2.使用泛型方法
  Generic<int>.Add<int>(10, 20);

  //可简化为
  Generic<int>.Add(10, 20);

3.泛型接口

3.1 创建接口

  internal interface Interface1<T>
  {

    //此时<T>可以省略,因为泛型方法和泛型接口的T相同
    T GetValue<T>(T x);

  }

3.2 连接接口

  internal class Class1:Interface1<int>
  {
    public T GetValue<T>(T x)
    {
      return x;
    }
  }

3.3 使用接口

  internal class Program
  {
    static void Main(string[] args)
    {

      Class1 class1 = new Class1();
      Console.WriteLine(class1.GetValue(10));

    }

  }

 

posted @   哑ba湖大水怪  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示