• C#终于支持可选参数了!


    今天偶然看了一下C#4.0的新特性, 第一个新特性就令我兴奋不已, 曾经一度令我使用C#很不习惯的"死参数"问题终于搞定了.
    实在太爽了!

    过去用C++, VB.NET的时候都很爽, 开始用C#了发现怎么没有这个功能, 令我很难受, 一直不明白是C#设计的问题还是其中实现起来太复杂啊, 不过这回终于OK了.

    代码
     1     class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             Show();
     6             Show("TonyKent");
     7             Console.ReadLine();
     8         } 
     9 
    10         public static void Show(string msg = "")
    11         {
    12             Console.WriteLine("Hello {0}",msg);
    13         }
    14     }

    参数默认值, 有了这个, 好多方法的重载可以减少了~ 

    2010-09-06  补充:
    在使用命名参数时, 如果使用多个可选参数, 必须都放在参数列表的最后.
    而且在调用方法时, 可以选择对可选参数进行赋值, 如下:

    代码
     1 class Program
     2 {
     3     static void Main(string[] args)
     4     {
     5         Show("2010-09-06");
     6         Show("2010-09-06""World""Morning");
     7         Show("2010-09-06", msg: "Morning");
     8         Console.ReadLine();
     9     } 
    10 
    11     public static void Show(string date, string name = "TonyKent"string msg = "")
    12     {
    13         Console.WriteLine("{0} Hello {1} {2}!", date, name, msg);
    14     }
    15 }

    上面代码执行结果如下:
    2010-09-06 Hello TonyKent!
    2010-09-06 Hello World Morning!
    2010-09-06 Hello  Morning!

    可见, 可选参数选择使用时, 用参数名+":"去直接命名强制使用.

     
     
     
  • 相关阅读:
    python学习笔记(基础二:注释、用户输入、格式化输出)
    python学习笔记(基础一:'hello world'、变量、字符编码)
    python学习笔记(python简史)
    关于第三方框架"SDWebImage"
    <NSSting部分操作整理>
    简单说-自定义cell
    简单说-控制器跳转
    简单说-代理
    iOS程序员须知
    关于swift中的只读属性
  • 原文地址:https://www.cnblogs.com/xdot/p/5834276.html
Copyright © 2020-2023  润新知