1. 可选参数
可选参数是.NET4中新添加的功能,应用可选参数的方法在被调用的时可以选择性的添加需要的参数,而不需要的参数由参数默认值取代。
2. 命名参数
命名参数是把参数附上参数名称,这样在调用方法的时候不必按照原来的参数顺序填写参数,只需要对应好参数的名称也能完成方法。
3. 两者结合
命名参数如果只是改变参数的顺序,这样的意义并不大,我们没有必要为了改变顺序而去用命名参数,他与可选参数结合才能显示出他真正的意义。这样就可以:(1)通过命名参数传递需要的参数,而不会产生歧义。
举例来说:
设有两个重载的方法:
void OptMethod(int first, double second =0, string third = "Hello");
void OptMethod(int first, double second =0, string third = "Hello", int fourth = 0 );
若调用方法为:
(1) OptMethod(1, fourth : "Word”); 则肯定调用第二个方法
(2) OptMethod(1,2.5,“Word”); 虽有歧义,但调用完全匹配的方法:第一个
(3) OptMethod(1, 2.5) 有歧义,不能通过编译