C#4.0可选参数和命名参数
在C#4.0中增加了可选参数的支持。在声明方法时将常量赋值给参数,在调用此方法时就不需要指定每一参数。
public class A
{
public static void Main()
{
//调用FunctionA方法
FunctionA(string str);
}
public void FunctionA(string A,int i=1)
{
do.......
}
}
{
public static void Main()
{
//调用FunctionA方法
FunctionA(string str);
}
public void FunctionA(string A,int i=1)
{
do.......
}
}
注意:
一、可选参数一定要放在所有必选参数(也就是没有默认值的参数)的后面。
二、默认值是一常量。
C#4.0的另一个方法调用时命名参数。
命名参数可以显示指定参数名进行赋值,所有不用依照参数顺序给予赋值。
代码
public class A
{
public static void Main()
{
//调用FunctionA方法
FunctionA(A:"stringA",C:intC);
}
public void FunctionA(string A,string B=default(string),int C = default(int))
{
do.......
}
}
{
public static void Main()
{
//调用FunctionA方法
FunctionA(A:"stringA",C:intC);
}
public void FunctionA(string A,string B=default(string),int C = default(int))
{
do.......
}
}
看到这里,也行会有人问,当可选参数、命名参数和方法重载一起在应用系统中应运的时候,我们很难区分调用的是哪个方法。