C#中泛型类的定义
泛型
通过参数化类型来实现在同⼀份代码上操作多种数据类型。
利⽤“参数化类型”将类型抽象化,从⽽实现灵活的复⽤。writeline方法属于类
泛型类的定义
定义⼀个泛型类指的是,定义⼀个类,这个类中某些字段的类型是不确定的,这些类型可以在构造的时候确定下来。
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")
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));//但是定义时需要都要写上,参数调⽤时⽤两个
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论