C#也越来越像VB.NET,具名参数与选用参数这两个功能在VB.NET里老早就有了,但C#一直到C#4.0版本才添加,添加这个特性后,以后在使用方法时就不用选择那么多的overload方法,而且调用方法也变得非常直观与方便,参数可以设置默认值,且不用每个参数都传入。如果你用C#写过Office Automation的程序就知道为何选用参数有多么棒了
那么我们来做一个演示程序吧:
static void Main(string[] args)
{
Console.Write("标准调用: Sum(1,2,3)");
Sum(1,2,3);
Console.Write("忽略Z参数,Sum(1,2)等同于调用Sum(1,7)因为Z的默认值为7");
Sum(1,2);
Console.Write("忽略y与z参数,Sum(1)等同于调用Sum(1,5,7)");
Sum(1);
//C#4.虽然支持具名参数与选用参数,不过不允许你这样写:
//Sum(1,3);//C#不允许忽略参数传入
//C#4.0具名参数与选用参数的语法如下:
Console.WriteLine();
Console.WriteLine("*******C#4.0具名参数与选用参数的语法如下:********");
Console.Write("想忽略第二个参数,那第三个参数就用具名参数法Sum(1,z:3)");
Sum(1,z:3);
Console.Write("全部具名参数法Sum(x:1,z: 3)");
Sum(x:1,z: 3);
Console.Write("传入具名参数是不需考虑顺序的, Sum(z: 3,x: 1)");
Sum(z: 3,x: 1);
Console.ReadKey();
}
/// <summary>
/// 声明一个M方法,
/// 其中第二、第三个参数是包含默认值的选用参数
/// </summary>
/// <param name="x"></param>
/// <param name="y">默认选用参数</param>
/// <param name="z">默认选用参数</param>
static void Sum(int x,int y = 5,int z = 7)
{
int total = x + y + z;
Console.WriteLine("求和:{0}",total.ToString());
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。