C#中允许为函数指定一个(只能指定一个)特殊参数,这个参数必须是函数定义中的最后一个参数,称为参数数组。
参数数组允许使用个数不定的参数调用函数,可使用params关键字定义它们。
使用参数数组的例子
internal class Program
{
static int SumVals(params int[] vals)
{
int sum = 0;
foreach(int val in vals)
{
sum += val;
}
return sum;
}
static void Main(string[] args)
{
int sum1 = SumVals(1,3,2,4);
int sum2 = SumVals(3,4,5);
int sum3 = SumVals(new int[] {1,2,3,4,6});
Console.WriteLine($"sum1的值为:{sum1}\r\n" +
$"sum2的值为:{sum2}\r\n" +
$"sum3的值为:{sum3}\r\n");
}
}
运行的结果,如下图所示:
查看代码
int sum1 = SumVals(1,3,2,4);
int sum2 = SumVals(3,4,5);
int sum3 = SumVals(new int[] {1,2,3,4,6});
可以发现使用SumVals这个函数有两种方式,一种方式是输入数目不定的int类型的参数,如代码中所示SumVals(1,3,2,4)输入了4个int类型的参数,SumVals(3,4,5)输入了3个int类型的参数,另一种方式就是输入一个int类型的输入,SumVals(new int[] {1,2,3,4,6})中输入的参数就是一个int数组。
注意事项
params只能放在参数列表的最后一项,否则会报错,如下图所示:
放在最后一项,不会报错,如下图所示: