博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#终于支持可选参数了!
阅读量:5152 次
发布时间:2019-06-13

本文共 1051 字,大约阅读时间需要 3 分钟。

今天偶然看了一下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!
可见, 可选参数选择使用时, 用参数名+":"去直接命名强制使用.

 
 
 

 

转载于:https://www.cnblogs.com/xdot/p/5834276.html

你可能感兴趣的文章
table与html实例
查看>>
OOP的几个原则-----OCP:开闭原则(上)
查看>>
Python老男孩 day18 文件处理模式b模式
查看>>
POJ2104 K-th Number(主席树)
查看>>
可持久化Treap(fhq Treap,非旋转式Treap)学习(未完待续)
查看>>
17年day3
查看>>
Redis
查看>>
c++buider2010 快捷技巧
查看>>
第一次发贴
查看>>
DB2检测表字段改动的方法(不用触发器)
查看>>
Windows 2003,XP安装Windows Phone 7
查看>>
Windows hackson (rundll32--ADS)
查看>>
Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件
查看>>
REST API TO MiniProgram 上线WordPress官方插件库
查看>>
百叶窗效果
查看>>
Linux 文件流管理
查看>>
分享自fissure 《Linux编程 报错 找不到 term.h和curses.h》
查看>>
postgresql客户端连接错误的解决方法【转】
查看>>
解决Wireshark没有网卡问题
查看>>
通过一个真实故事理解SOA监管(zz)
查看>>