Code Bye

params能否接受泛型数组,每个元素类型不同

    class Program
    {
        public static int f(params int[] intArray)
        {
            int sum = 0;
            foreach (int i in intArray)
                sum += i;
            return sum;
        }
        static void Main(string[] args)
        {
            Console.WriteLine(Program.f(1, 2, 3, 4.0));//可否接受不同类型参数,泛型结合params?
        }
    }

这段代码编译错误,原因是本人给的参数1,2,3都是整数,而4.0是double。能否用泛型的方式修改一下本人上面的代码,使得在main函数里面能累加不同类型的数字?
谢谢。

解决方案

5

这个应该用重载吧

5

给你不同的参数你知道怎么样处理吗?
知道的话那不就是重载了?
不知道的话给你又怎么样?

10

(params object[] args)

20

dynamic[]
泛型没法约束,或你将
int[]改成double[]

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明params能否接受泛型数组,每个元素类型不同