日期:2014-05-17  浏览次数:20811 次

param关键字不能识别初始化列表吗? 有编译错误
我在类里面声明一个静态方法:

    class Program
    {
        public static int Add(params int[] arr)
        {
            return 0;
        }
    }

然后在main里面可以这样,没有问题:

Console.WriteLine(Program.Add(new[]{ 1, 2, 3 }));

但是如果我写成下面这样就有编译错误:

Console.WriteLine(Program.Add({ 1, 2, 3 }));

编译提示:error CS1525: Invalid expression term '{'
------------------------------------------------------------
不是说声明int[]数组的时候,可以直接像下面这样吗:

            int[] arr = { 1, 2, 3 };

为什么作为参数传递的时候,就有编译错误呢?

------解决方案--------------------
Console.WriteLine(Program.Add( 1, 2, 3 ));