我正在研究其他人的代码,并且有一个这样的方法:
public SomeClass DoSomething(string param1, [Optional, DefaultParameterValue("")] string optional)
为什么有人会使用这些属性而不是
public SomeClass DoSomething(string param1, string optional = "")
行为等有什么不同吗?
答案 0 :(得分:9)
例如,如果他们没有使用C#4?我相信第二个版本将编译成第一个版本......
(我已将它们编译并通过ILDASM运行它们 - 没有显着差异。)