码迷,mamicode.com
首页 > Windows程序 > 详细

C#4.0 具名参数 和 可选参数

时间:2014-12-26 13:03:17      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:.net   c#4.0   

C# 4.0中的可缺省参数

C# 4.0现在对方法,构造器,以及索引器支持使用可缺省的参数(注:VB支持可缺省参数可是有年头了)。

当参数的默认值作为声明的一部分被指定的时候,参数就是可缺省的。例如,下面这个方法接受2个参数,一个“category” 字符串参数,另一个“pageIndex”整数参数。“pageIndex”参数有一个默认值 0,它因此是一个可缺省的参数:

技术分享

当调用上面的方法时,我们可以显式地传递2个参数给它:

技术分享

或者我们可以省略掉传递第二个参数,在这样的情形下,其默认值0就会被传进去:

 技术分享

注意,VS 2010的Intellisense在显示语句完成时,会表示哪个参数是可缺省的,以及它的默认值:

技术分享

C# 4.0中的具名实参和可缺省参数

C# 4.0现在还支持“具名实参”的概念。这允许你把传给一个方法的参数显式地命名,而不是通过实参的位置来识别它。

例如:我可以编写下面这样的代码,通过其名称来识别传给GetProductsByCategory方法的第二个参数(将其用法变得更为明确一点):

技术分享

当一个方法支持多个可缺省参数,而你想要指定在传递哪个实参时,具名实参会非常有用。例如,下面我们有一个DoSomething方法,其接受2个可缺省参数:

技术分享

我们可以使用具名实参,以下面任何一种方式来调用上面这个方法:

技术分享

因为2个参数都是可缺省的,在只有1个(或者0个)参数被指定的情形下,那个没被指定的参数的默认值就会被传进去。

C#4.0 具名参数 和 可选参数

标签:.net   c#4.0   

原文地址:http://blog.csdn.net/haitaodoit/article/details/42169921

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!