Optional and named parameters特性在有些场合提供很大的方便,特别是Office开发中可以告别一坨System.Reflection.Missing了。这里简单了解一下C#4.0中的Optional and named parameters。
在VS2010 CTP中的C#4.0编译器调试通过,正式版可能会有些变化。
1.使用示例
class Program
{
static void Main(string[] args)
{
Test t = new Test();
t.OptionalAndNamedParams(1);
t.OptionalAndNamedParams(2, "a");
t.OptionalAndNamedParams(3, c: "b", b: "a");
t.OptionalAndNamedParams(4, c: "http://g.cn");
}
}
class Test
{
// a为必选参数;b,c为可选参数
public void OptionalAndNamedParams(int a, string b = "", object c = "http://xianfen.net")
{
Console.WriteLine("a:{0}, b:{1}, c:{2}", a, b, c);
}
}
运行结果为:
使用中的注意事项:
当必选参数与可选参数在同一个方法中混合使用时,必选参数的声明应该放在可选参数的前面。
可选参数的初始值必须是一个在编译期可确定的常量。
可选参数不可用ref,out等修饰符。
如果全部显式指定参数名(paraName:value),参数的顺序可以任意调整。