C#中泛型类的定义
泛型
通過參數化類型來實現在同一份代碼上操作多種數據類型。?
利用“參數化類型”將類型抽象化,從而實現靈活的復用。
泛型類的定義?
定義一個泛型類指的是,定義一個類,這個類中某些字段的類型是不確定的,這些類型可以在構造的時候確定下來。?
eg:
//創建一個類處理int類型或double類型或其他類型的相加
class ClassA<T> ? ? //T為未知的類型(也就是一個數據類型),可能是int,也可能是double
{ ? ? ? ? ? ? ? ? ? //當使用ClassA進行構造時,需要指定T的類型
? ? private T a;
? ? private T b;
? ? public ClassA(T a, T b) ? ? //構造函數
? ? {
? ? ? ? this.a = a, this.b = b;
? ? }
? ? public string GetSum()
? ? {
? ? ? ? return a + " " + b;
? ? }
}
var o1 = new ClassA<int>(12,34); ? ?//當我們利用泛型類構造時,需要指定泛型的類型
string s1 = o1.GetSum();
var o2 = new ClassA<string>("WWW.","google.com")
string s2 = o2.GetSum();
泛型方法?
定義泛型方法即為定義一個方法,這種方法的參數類型可以是不確定的,可以當調用這個方法的時候再去確定方法的參數類型。
//實現了任意類型組拼成字符串的方法,可以是int,double,string等類型
public static string GetSum<T>(T a,T b){
? ? return ?a + "" + b;
}?
Console.WritrLine(GetSum(12,34));
//多種類型的定義
public static string GetSum2<T1, T2, T3>(T1 a, T2 b, T3 c)
{
? ? return a + "" + b + "" ?+ c;//定義了三種參數,三種都使用
}
Console.WriteLine(GetSum<int,double,string>(2,2.1,"34"));
public static string GetSum2<T1, T2, T3>(T1 a, T2 b)
{
? ? return a + "" + b;//定義了三種參數,只用了兩種
}
Console.WriteLine(GetSum<int,double,string>(2,2.1));//但是定義時需要都要寫上,參數調用時用兩個
原文:https://blog.csdn.net/lym940928/article/details/80039571?
?
總結
- 上一篇: 菜单项onCreateOptionsMe
- 下一篇: c# char unsigned_dll