C#默认参数解决方法

Sun*_*een 4 c# default-parameters

是否有默认参数的解决方法?在C++中我会用

int foo(int k, bool check = false)
Run Code Online (Sandbox Code Playgroud)

一个繁琐的解决方法是重载一个函数.一个更容易?(没有办法只添加变量并检查函数的调用!!)

谢谢,孙

Den*_*ick 10

C#(4.0之前)不支持默认参数.即使在c#4.0中,默认参数也有点不同于C++ - 它们存储在元数据中,当您使用默认参数引用程序集时,它们会被编译到您的代码中.因此,如果将来更改默认值,您的代码仍将传递OLD默认值,这可能会导致不良影响.因此,使用带有单个参数和双参数的重载函数,并调用具有更多参数的参数传递默认值.这种方法的副作用最小.