泛型可以通过使用尖括号<>来定义参数化的类型,具体使用方法如下:
- 定义一个泛型类
需要使用T作为类型参数,在类中可以使用T来表示任何一种具体类型。例如:
class GenericList<T>
{
private T[] items;
public GenericList()
{
items = new T[0];
}
public void Add(T item)
{
Array.Resize(ref items, items.Length + 1);
items[items.Length - 1] = item;
}
public T Get(int index)
{
return items[index];
}
}
- 定义一个泛型方法
需要使用泛型类型参数<T>来表示要使用的类型。例如:
public void PrintArray<T>(T[] arr)
{
foreach (T element in arr)
{
Console.WriteLine(element);
}
}
- 使用泛型
定义好泛型类或方法后,可以使用各种内置和自定义类型,以及其他泛型类型作为类型参数,从而创建具有具体类型的泛型类、接口或方法。例如:
// 创建一个具有string类型的GenericList对象
GenericList<string> list = new GenericList<string>();
list.Add("hello");
// 使用泛型方法打印int类型的数组
int[] arr = new int[] { 1, 2, 3 };
PrintArray<int>(arr);