变长参数关键词
举例:函数要计算n个整数的和
static int Sum(int a,int b,...)
变长参数关键字——params
static int Sum(params int[] arr)
{
int sum = 0;
for (int i = 0; i < arr.Length; i++)
{
sum += arr[i];
}
return sum;
}
Sum(1,2,3,4,5);
params int[]意味着可以传入n个int参数,n可以等于0,传入的参数会存在arr数组中。
注意:
1.params关键字后面必为数组
2.数组的类型可以是任意的类型
3.函数参数可以有别的参数和params关键字修饰的参数
4.函数参数中只能最多出现一个params关键字,并且一定是在最后一组参数,前面可以有n个其他参数。
参数的默认值
有参数默认值的参数一般称为可选参数
作用是当调用函数时可以不传入参数,不传参数就会使用默认值作为参数的值
static void Speak(string str = "我没有什么可以说的了")
{
Console.WriteLine(str);
}
注意:
1.支持多参数默认值,每个参数都可以有默认值。
2.如果要混用,可选参数必须写在普通参数后面。
static void Speak2(string test, string str = "我没有什么可以说的了")
{
Console.WriteLine(test);
}
小结:
1.变长参数关键字——params
作用:可以传入n个同类型的参数,n可以是0
注意:
(1)params后面必须是数组,意味着只能是同一类型的可变参数
(2)变长参数只能有一个
(3)必须在所有参数后面写变长数组
2.参数的默认值——可选参数
作用:可以给参数默认值,使用时可以不传参,不传使用默认的,传入用传的
注意:
(1)可选参数可以有多个
(2)正常参数必须写在可选参数前面,可选参数只能写在所有参数的后面