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));
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)