这就是问题所在。
背景:C# Params
在C#中,您可以将方法/函数的最后一个参数声明为“params”,它必须是单维数组,例如:
public void SomeMethod(int fixedParam, params string[] variableParams)
{
if (variableParams != null)
{
foreach(var item in variableParams)
{
Console.WriteLine(item);
}
}
}
这基本上允许语法糖在调用站点隐式地构建零个或多个元素的数组:
SomeMethod(1234); // << Zero variableParams
SomeMethod(1234, "Foo", "Bar", "Baz"); // << 3 variableParams
但是仍然可以绕过语法糖并显式地传递一个数组:
SomeMethod(1234, new []{"Foo", "Bar", "Baz"});