C# 中泛型类的定义

转载自:  

https://blog.csdn.net/lym940928/article/details/80039571


泛型

通过参数化类型来实现在同一份代码上操作多种数据类型。 
利用“参数化类型”将类型抽象化,从而实现灵活的复用。

泛型类的定义 
定义一个泛型类指的是,定义一个类,这个类中某些字段的类型是不确定的,这些类型可以在构造的时候确定下来。 
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));//但是定义时需要都要写上,参数调用时用两个


沿伸阅读:


C# 泛型编程之泛型类、泛型方法、泛型约束


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864