假设我定义了一个这样的方法:
public static void ListInts(int[] inVals)
{
for (int i = 0; i < inVals.Length; i++)
{
Console.WriteLine("{0}", inVals[i]);
}
}
如果我尝试这样调用它,显然我得到一个错误并且代码将无法编译:
ListInts();
方法 'ListInts' 有一个参数,但使用 0 个参数调用
但是当我像这样更改方法定义时:
public static void ListInts(params int[] inVals)
{
for (int i = 0; i < inVals.Length; i++)
{
Console.WriteLine("{0}", inVals[i]);
}
}
没有错误。我很好奇为什么会这样?为什么第二个代码编译没有任何错误?params
当我们使用关键字时,幕后会发生什么?