1:为什么要引入可选参数
如果某个操作需要多个值,每次调用的时候又往往相同,这时候就可以使用可选参数,可选参数可以显著低降低重载的数量。
2:可选参数注意事项
2.1:必备参数必须在k可选参数之后
2.2:默认值必须采用字面量,不能采用常量。
2.3:参数数组在可选参数以后
2.4:ref/out 不能为可选的
3:代码如下
//比如我要实现写日志方法,而日志里需要体现日志操作人,由于操作人大部分都是root,因此为了减少方法数量,通过可选参数来实现。 public void WriteLog(string filePath, string contents, string author = "root",Encoding encoding=null) {
Encoding realEncoding = encoding ?? Encoding.UTF8; File.WriteAllText(filePath, string.Format("作者:{0},文章:{1}\r\n", author, contents), realEncoding); } 没有可选参数代码如下: public void WriteLog(string filePath, string contents) { File.WriteAllText(filePath, contents, Encoding.UTF8); } public void WriteLog(string filePath, string contents, string author) { File.WriteAllText(filePath, string.Format("作者:{0},文章:{1}\r\n", author, contents), Encoding.UTF8); }