有关 C# 命名参数和可选参数

有关 C# 命名参数和可选参数

 

 

#1、命名参数:

 

 

所谓“命名参数 ( Named Arguments )”,是指方法中定义了一些“有名字”的参数。

 

给方法参数命名之后,在调用方法时就可以直接根据参数名字传送实参,不再像原来一样需要依据方法定义时的参数顺序传送。

 

假设有一下的方法:

 

 

static void SomeMethod ( int x1, int x2, int y1, int y2 )

 

{  ..........  }

 

 

 

在 .net 4.0 中可以这样调用方法:

 

SomeMethod ( 100, 200, 300, 400 );           // 传统方式,严格按照参数定义的顺序传送实参

 

SomeMethod ( x1: 100, y1: 300, x2: 200, y2: 400 );   // 命名方式,次序无关紧要

 

SomeMethod ( 100, y2: 400, x2: 200, y1: 300 );     // 混合方式

 

 

 

以“混合方式”调用方法时,位于命名参数前面的参数称为“位置参数(Positional Arguments)”,是不容随便更换位置的。因此,命名参数“群”一定集中位于方法调用参数列表的后半部分。

 

 

 

#2、可选参数:

 

 

所谓“可选参数(Optional Arguments)”,是指给方法的特定参数指定的默认值,在调用方法时,可以省略掉这些参数。

 

例如,假设有以下方法:

 

 

static void Test ( int required, string optionalString = "Default Value" )

 

{  ..........  }

 

 

 

则一下两种调用方法都是可执行的:

 

Test ( 100 );          //optionalString 参数拥有默认参数值 “Default Value”

 

Test ( 100, "New Value" );     //optionalString  参数的值为 “New Value”

 

 

 

 

 

posted @ 2013-11-14 21:22  云端之上  阅读(361)  评论(0编辑  收藏  举报