泛型
总是优先考虑使用泛型:
避免在泛型类型中声明静态成员
static void Main(string[] args) { MyList mylist01 = new MyList(); MyList mylist02 = new MyList(); Console.WriteLine(MyList.Count); // 2 Console.WriteLine(); MyListT<int> listInt1 = new MyListT<int>(); MyListT<int> listInt2 = new MyListT<int>(); MyListT<string> listString = new MyListT<string>(); Console.WriteLine(MyListT<int>.Count); // 2 Console.WriteLine(MyListT<string>.Count); // 1 Console.WriteLine("Hello World!"); } class MyList { public static int Count { get; set; } public MyList() { Count++; } } class MyListT<T> { public static int Count { get; set; } public MyListT() { Count++; } }
T会根据指定的不同类型的数据类型而变成不同的数据类型,类型之间不共享静态成员。
非泛型类型中的泛型方法并不会在运行时的本地代码中生成不同的类型
class FMyList { static int Count; public static int Func<T>() { return ++Count; } }
Console.WriteLine(FMyList.Func<int>()); Console.WriteLine(FMyList.Func<int>()); Console.WriteLine(FMyList.Func<string>());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】