c# – 为什么使用params关键字?

我知道这是一个基本的问题,但我找不到答案。

为什么使用它?如果你写一个函数或使用它的方法,当你删除它的代码仍然会正常工作,100%没有它。例如:

使用参数:

static public int addTwoEach(params int[] args)
{
    int sum = 0;
    foreach (var item in args)
        sum += item + 2;
    return sum;
}

没有参数:

static public int addTwoEach(int[] args)
{
    int sum = 0;
    foreach (var item in args)
       sum += item + 2;
    return sum;
}
使用params你可以这样调用你的方法:

addTwoEach(1, 2, 3, 4, 5);

没有params,你不能。

此外,在这两种情况下,您都可以调用数组作为参数的方法:

addTwoEach(new int[] { 1, 2, 3, 4, 5 });

也就是说,params允许你在调用方法时使用快捷方式。

不相关,你可以大大缩短你的方法:

public static int addTwoEach(params int[] args)
{
    return args.Sum() + 2 * args.Length;
}
相关文章
相关标签/搜索