params MSDN的解释是: 使用 params
关键字可以指定采用数目可变的参数的方法参数。
可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组。 还可以不发送参数。 如果未发送任何参数,则 params
列表的长度为零。
在方法声明中的 params
关键字之后不允许有任何其他参数,并且在方法声明中只允许有一个 params
关键字。
一言以蔽之就是一个用来修饰只能放在参数列表后面且只能有一个的数组参数。其实跟直接使用数字作为参数而不用此关键字是一样的(至少我不知道区别)。 当然这样可以增加代码的可读性。
下面看例子:
public static void UseParams(params int[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.Write(list[i] + " ");
}
Console.WriteLine();
}
public static void UseParams1(int[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.Write(list[i] + " ");
}
Console.WriteLine();
}
上面两个方法结果是一样的:
PS: 也不能利用此重载方法可见有无此关键字编译器认为方法的参数是相同的
参考:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/params