1. 泛型类
泛型类允许你定义一个类,它可以处理任何数据类型,而不是仅限于一种类型。这使得代码更灵活和可重用。
-
定义泛型类
public class GenericClass<T> { private T data; public GenericClass(T value) { data = value; } public T GetData() { return data; } public void SetData(T value) { data = value; } }
-
使用泛型类
GenericClass<int> intInstance = new GenericClass<int>(10); Console.WriteLine(intInstance.GetData()); GenericClass<string> stringInstance = new GenericClass<string>("Hello"); Console.WriteLine(stringInstance.GetData());
在这个例子中,GenericClass<T>
是一个泛型类,可以处理任何类型的数据。在创建实例时,通过指定类型参数,泛型类可以处理具体的数据类型。
2. 泛型方法
泛型方法允许你在方法级别上使用泛型,定义一个可以处理多种类型的方法。
-
定义泛型方法
public class GenericMethodClass { public void Print<T>(T value) { Console.WriteLine(value); } }
-
使用泛型方法
GenericMethodClass gmc = new GenericMethodClass(); gmc.Print<int>(10); gmc.Print<string>("Hello"); gmc.Print<double>(3.14);
在这个例子中,Print<T>
是一个泛型方法,可以接受任何类型的参数并打印出来。
3. 常用泛型集合(List, Dictionary<TKey, TValue>)
泛型集合类提供了处理不同类型集合的方法,是 C# 中非常常用的集合类型。
-
List
List<T>
是一个动态数组,可以存储同一类型的对象。-
创建和使用 List
List<int> intList = new List<int>(); intList.Add(1); intList.Add(2); intList.Add(3); foreach (int item in intList) { Console.WriteLine(item); }
-
常用方法
Add(T item)
: 向列表添加元素。Remove(T item)
: 从列表中移除元素。Count
: 获取列表中的元素数量。
-
-
Dictionary<TKey, TValue>
Dictionary<TKey, TValue>
是一个键值对集合,用于存储具有唯一键的元素。-
创建和使用 Dictionary
Dictionary<int, string> dict = new Dictionary<int, string>(); dict.Add(1, "One"); dict.Add(2, "Two"); dict.Add(3, "Three"); foreach (KeyValuePair<int, string> kvp in dict) { Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value); }
-
常用方法
Add(TKey key, TValue value)
: 向字典中添加键值对。Remove(TKey key)
: 从字典中移除指定键的元素。ContainsKey(TKey key)
: 判断字典是否包含指定键。TryGetValue(TKey key, out TValue value)
: 尝试获取指定键的值。
-
总结
- 泛型类:通过定义泛型类,代码可以处理不同类型的数据,使代码更灵活和可重用。
- 泛型方法:泛型方法允许在方法级别上使用泛型,处理不同类型的参数。
- 常用泛型集合:
List<T>
和Dictionary<TKey, TValue>
是 C# 中非常常用的泛型集合,提供了灵活、高效的集合操作方法。