一尘不染

为什么要使用params关键字?

c#

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

为什么要使用它?如果编写使用该函数的方法或方法,则将其删除时代码仍将完美运行,没有代码的情况下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;
}

阅读 229

收藏
2020-05-19

共1个答案

一尘不染

随着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;
}
2020-05-19