C#利用泛型求和

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:28:55
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 泛型
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请选择输入数据的类型:");
Console.WriteLine("1.int");
Console.WriteLine("2.float");
int n;
n=int.Parse(Console.ReadLine());
switch (n)
{
case 1: int a, b;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
SUM1<int> sum = new SUM1<int>();
Console.WriteLine("和为:" + sum.SUM(a, b).ToString());
Console.WriteLine(a);
break;
case 2: break;
def

public class SUM1<T>
{
private int sum;
public int SUM(int a, int b)
{
sum = a + b;
return sum;
}
}

//T类型改成int

你需要在类型SUM1里面把运算符T+T重载掉才可以。
具体应该是在能够这个类里面加上
private static T operator +(T t1,T t2){
return t1 + t2;
}
我这里没有测试环境,感觉逻辑上有点问题,不知道能不能行,不行你在发我吧。

操作符重载,参考http://www.wewill.cn/n20348c53.aspx
为该类重载+,这样+就可以自定义完成的功能

运算符重载问题