.net 可选参数和命名参数

可选参数,可以为方法的参数设置默认值,在调用方法的时候,如果不传递参数,就是执行默认参数。

 class Program
    {
        private static void M(int x = 9, string s = "A", DateTime dt = default(DateTime), Guid guid = new Guid());
  
        static void Main(string[] args)
        {

            //执行如下方法, M方法会根据参数从左往右匹配。
            //guid: 就会根据这个名称与方法中的名称比对,
            //执行方法等于 
            //M(5, "A", DateTime.Now, Guid.NewGuid());
            M(5, guid: Guid.NewGuid(), dt: DateTime.Now);
             
            Console.ReadLine();
        }

如果参数要求 ref/out,为了以传参数名的方式传递实参,可以使用如下方法:

 class Program
    { private static void M(ref int x) {    } 
        static void Main(string[] args)
        { int a = 5;
            M(x: ref a);  
            Console.ReadLine();
        }
原文地址:https://www.cnblogs.com/dragon-L/p/5339378.html