[C#]4.0具名参数与选用参数

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, 2,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();
        }
        /// 
        /// 声明一个M方法,
        /// 其中第二、第三个参数是包含默认值的选用参数
        /// 
        /// 
        /// 默认选用参数
        /// 默认选用参数
        static void Sum(int x, int y = 5, int z = 7)
        {
            int total = x + y + z;
            Console.WriteLine("求和:{0}",total.ToString());

        }

[C#]4.0具名参数与选用参数_第1张图片

你可能感兴趣的:(.Net,C#)