【发布时间】:2011-11-26 16:10:21
【问题描述】:
我知道这是一个基本问题,但我找不到答案。
为什么要使用它?如果您编写了一个正在使用它的函数或方法,当您删除它时,代码仍然可以正常工作,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 关键字表示可以传递或不传递给方法的可选参数。没有 params 关键字的数组意味着您必须将数组参数传递给方法。
-
Python 语言用星号 (
*) 前缀参数实现了相同的概念,如 here 所述。
标签: c# parameter-passing params variadic-functions variadic