[C#]4.0中具名参数与可选参数
#C#中具名参数与可选参数这两个功能在VB.NET里老早就有了,但C#一直到C#4.0版本才添加,添加这个特性后,以后在使用方法时就不用选择那么多的overload方法,而且调用方法也变得非常直观与方便;具名参数,顾名思义就是说传入具体参数名对应的参数;可选参数可以设置默认值,且不用每个参数都传入,传入你需要的参数就可以了;下面就让我们一起来了解一下吧!。
一、常规调用方法
/// <summary>
/// Main方法
/// </summary>
public static void Main()
{
SumAdd(5,3); //调用方法
}
/// <summary>
/// 声明一个方法,
/// </summary>
/// <param name="x">参数1</param>
/// <param name="y">参数2</param>
static void SumAdd(int x, int y)
{
int sum = x + y;
Console.WriteLine("求和:{0}",sum);
}
二、可选参数
可选参数分为部分参数可选和全部参数可选。
/// <summary>
/// Main方法
/// </summary>
public static void Main()
{
//调用方法
SumAdd1(3); //x传入实参,y使用默认值
SumAdd1(5,3); //x,y都传入实参
SumAdd2(); //x,y不传入实参时,x,y使用默认值3,5
SumAdd2(2); // y不传入实参时,y使用默认值5
SumAdd2(5, 10); // x,y都传入实参
}
/// <summary>
/// 部分参数可选
/// 当参数为部分可选时, 可选参数 的声明必须定义在 不可选参数的后面
/// </summary>
/// <param name="x">参数1</param>
/// <param name="y">参数2</param>
static void SumAdd1(int x, int y=5)
{
int sum = x + y;
Console.WriteLine("求和:{0}",sum);
}
/// <summary>
/// 全部参数可选
///当参数全部都为可选时,参数的声明顺序可以随意定义,不分先后。.
///参数声明定义可以无顺序,但调用时必须与声明时的一致。
/// </summary>
/// <param name="x">参数1</param>
/// <param name="y">参数2</param>
static void SumAdd2(int x=3, int y=5)
{
int sum = x + y;
Console.WriteLine("求和:{0}",sum);
}
三、具名参数
具名参数的使用主要是体现在函数调用的时候。
使用具名参数,我们可以指定特定参数的值。
例如:现在我只想传入y, 不想传入 x ,就要用到 C#的 具名参数。
/// <summary>
/// Main方法
/// </summary>
public static void Main()
{
//调用方法
SumAdd2(y:8); // 具名参数,只传入y的值(调用的前面使用的SumAdd2()方法)
//当使用 具名参数时,调用方法可以不用管参数的声明顺序
SumAdd2(y:8, x:2);
}