函数的默认参数值,即在定义参数的时候同时给它一个初始值。在调用函数的时候,我们可以省略含有默认值的参数。也就是说,如果用户指定了参数值,则使用用户指定的值,否则使用默认参数的值。


一、默认参数常见场景


1、一个函数的可能会有很多参数,但是有些参数大部分时候都是固定值。

2、当一个函数需要增加参数时,为了不影响之前的用户,将新增加的参数作为默认参数。

二、默认参数实例

publicvoidFunc(stringi=1,stringf=2,stringd=3){returni+","+f+","+d;}publicstringComputer(){Func();//1,2,3Func("10");//10,2,3Func("10","20");//10,20,3Func("10","20","30");//10,20,30return"";}


参数的值也可以是表达式,这样,表达式将在函数被调用的时候求值,比如下面的func函数,第二个参数值是通过函数调用得到的,每次调用func函数时,该函数都会调用getValue来获取b的值。


例如

classTest{publicintgetValue(){return1;}publicintfunc(inta,intb=getValue()){returnb;}}



三、默认参数的使用原则

1、默认的参数只能是后面的参数,不能是中间的参数。也就是说,如果参数A是默认的参数,那么A后面的所有参数都必须是默认的。

2、一般不把默认参数当做一个判断条件去用。如果有这个需求,都是可以通过分解函数来实现。

3、默认参数必须是发生的概率非常大。




参考资料: C#中默认参数 http://www.studyofnet.com/news/838.html