【发布时间】:2018-02-14 03:02:34
【问题描述】:
我知道这是一个基本问题,但我找不到答案。
为什么要使用它?如果您编写了一个正在使用它的函数或方法,那么当您删除它时,代码仍然可以正常工作,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