C# 泛型

泛型是什么?

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

泛型类定义

定义一个泛型类就是指的是,定义一个类,这个类中某些字段的类型是不确定的,这些类型可以在类构造的时候确定下来,

举例:

class ClassA<T> {//T代表一个数据类型,当使用classA进行构造的时候,需要制定T的类型
    private T a;
    private T b;
    private A c;

    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 s = o1.GetSum();
Console.WriteLine(s);

泛型方法

定义泛型方法就是定义一个方法,这个方法的参数的类型可以是不确定的,当调用这个方法的时候再去确定方法的参数的类型。

实现任意类型组拼成字符串的方法

class Program {
    public static string GetSum<T>(T a, T b)
    {
        return a + "" + b;
    } 
    static void Main(string[] args) {
        Console.WriteLine(GetSum<int>(12,34));
        Console.ReadKey();
    }
}

多类型的泛型类

class ClassA<T,A> {//T代表一个数据类型,当使用classA进行构造的时候,需要制定T和A的类型
    private T a;
    private A c;

    public ClassA(T a, A b )
    {
        this.a = a;
        this.b = b;
    }

    public string  GetSum()
    {
            
        return a +""+ b;
    }
}

调用

class Program {
    static void Main(string[] args) {        
        var o2 = new ClassA<string,int>("wwww.",33);
        Console.WriteLine(o2.GetSum());
        Console.ReadKey();
    }
}

多类型的泛型方法

class Program {
    public static string GetSum<T,T2,T3,T4>(T a, T b)
    {
        return a + "" + b;
    } 
    static void Main(string[] args) {
        Console.WriteLine(GetSum<int,int,int,int>(12,34));
        Console.WriteLine(GetSum<double,double,double,double>(12.3,34.5));
        Console.WriteLine(GetSum<string,string,string,string>("23r,","wer3l2kj"));
        Console.ReadKey();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值