今天敲代码时遇到了一个错误,百度了一下没有找到答案。
于是仔细看了一下这个报错,说的是:Optional parameters must appear after all required parameters.
翻译过来就是:可选参数(Optional Parameters)必须放在最后。
源代码:
public void Test(int num, string s = null, bool flag)
{
//函数体
}
注意,当中的第二个形参string s被称为可选参数,不能放在参数中间声明。
因为我们使用可选参数就是为了方便,我们在函数定义时给出可选参数的初始值,这样就不用每次调用都对其赋值。
如果放在中间,每次调用还是要给它赋值,它就失去了作为可选参数的意义。所以会报错。
正确写法:
public void Test(int num, bool flag,string s=null)
{
//函数体
}