命名参数
我们经常所用到的函数中的参数都是位置参数,也就是一个实参的位置都必须与相应的形参位置一一对应,此外C#还允许我们使用命名参数(C++中不存在),只要显示指定参数的名字,就可以以任意顺序在方法调用中列出实参。
class Program
{
static public void foo(int a,int b,int c)
{
Console.WriteLine(a * b + c); //45
}
static void Main(string[] args)
{
Program.foo(b: 10, a: 4, c: 5);
}
}
可选参数
C#中可选参数与C++中相同,可以设置函数的默认参数,所有必填参数必须在默认参数的前面。
注意事项:
(1)不是所有的参数都可以作为可选参数,只要值类型的默认值在编译的时候可以确定,就可以使用值类型作为可选参数,只有在默认值是null的时候,引用类型才可以作为可选参数来使用。
(2)所有必填参数必须在可选参数声明之前声明,如果有params参数,必须在所有可选参数之后声明