代码改变世界

可选参数和命名参数

2011-04-17 17:27  jiejiep  阅读(304)  评论(0编辑  收藏  举报

主要目的:

①学会为参数指定默认值

  ②掌握使用可选参数和命名参数的注意事项
注意事项:

①可为方法、构造器方法、有参属性(C#索引器)的参数指定默认值

②有默认值的参数必须放在没有默认值的参数之后

③默认值必须是在编译时能确定的常量值。如值类型对应0,引用类型对应null,通常可用 new 或者 default 关键字来表达这个意思。

④不要更改参数的参数名

⑤实参可按任何顺序传递

示例代码如下:

public class Test
{
public static void Main()
{
     //相当于调用 M(1,23,"liuqj",default(DateTime), new Guid());
M(
1);
 
     //相当于调用 M(2,25,"liuqj", DateTime.Now,new Guid());
M(
2, 25, new Guid(), DateTime.Now);
 
     //相当于调用 M(3,23,"12", default(DateTime), new Guid());
M(3, d:12, s:"12");

}

public M(int i, double d = 23, string s="liuqj", DateTime dt = default(DateTime), Guid g = new Guid())
{
Console.WriteLine(
"i={0}, d ={1}, s={2}, dt={3}, l={4}",d,i, s, dt,g);
}
}