可选参数
声明可选参数
函数的参数在声明时,可以同时为其赋值一个常量。
但是所有这样的参数,需要在所有必填参数的后面。
void Any(int i = 10)
{
Console.WriteLine(i);
}
使用可选参数
稍后,在调用函数时,你可以不填可选参数。
如果不填,那就是你开始为他赋值的常量。
如果填了,那就是普通的参数,按照你填的值为准。
不定长参数
如果形参的最后一个参数是一个数组,那么可以在类型前加params关键字使其变为可变长参数。
由于可变长参数必须是最后一个,而且不能赋初始值。所以不定长参数和可选参数不能同时存在。
声明为了不定长的参数,除了可以正常接收一个数组实参外,还可以以散装方式接收实参。
fun(1, 2, 3, 4, 5, 6);
void fun(params int[] a)
{
Console.WriteLine("无事发生");
}
这些参数会被自动的打包成数组,然后作为实参传递。
但是,数组的长度可以是0,所以不定长参数可以一个都不填。
在函数内访问这个数组时要小心,即便访问索引为0的元素也可能出错。