在C#中,泛型類是一種可以處理多種數(shù)據(jù)類型的類,而無(wú)需為每種數(shù)據(jù)類型創(chuàng)建單獨(dú)的類。泛型類使用類型參數(shù)來(lái)表示其支持的數(shù)據(jù)類型,這些類型參數(shù)在實(shí)例化時(shí)由具體的類型替換。下面是一個(gè)簡(jiǎn)單的泛型類示例,展示了如何實(shí)現(xiàn)和使用它:
// 定義一個(gè)泛型類 MyGenericClass<T>
public class MyGenericClass<T>
{
// 定義一個(gè)類型為 T 的屬性
public T Property { get; set; }
// 定義一個(gè)接受類型為 T 的參數(shù)的方法
public void DoSomething(T value)
{
Console.WriteLine($"The value is: {value}");
}
}
在這個(gè)例子中,我們定義了一個(gè)名為 MyGenericClass
的泛型類,它有一個(gè)類型為 T
的屬性 Property
和一個(gè)接受類型為 T
的參數(shù)的方法 DoSomething
。
要使用這個(gè)泛型類,你需要為其類型參數(shù)提供一個(gè)具體的類型。例如,你可以為整數(shù)和字符串分別創(chuàng)建 MyGenericClass
的實(shí)例:
// 創(chuàng)建一個(gè)整數(shù)類型的 MyGenericClass 實(shí)例
var intInstance = new MyGenericClass<int> { Property = 42 };
intInstance.DoSomething(84); // 輸出 "The value is: 84"
// 創(chuàng)建一個(gè)字符串類型的 MyGenericClass 實(shí)例
var stringInstance = new MyGenericClass<string> { Property = "Hello, World!" };
stringInstance.DoSomething("C# Generics"); // 輸出 "The value is: C# Generics"
在這個(gè)例子中,我們分別為整數(shù)和字符串類型創(chuàng)建了 MyGenericClass
的實(shí)例,并調(diào)用了它們的 DoSomething
方法。注意,在實(shí)例化泛型類時(shí),我們?yōu)轭愋蛥?shù) T
提供了具體的類型(int
和 string
),這告訴編譯器如何實(shí)例化該類以及如何處理其屬性和方法。這使得泛型類非常靈活,可以用于處理各種數(shù)據(jù)類型。