我似乎记得读过 C# 4.0 中方法重载(和构造函数链接)和可选参数之间的重要区别,但我无法找到任何承认任何区别的东西。
以下两种实现方式有什么重要区别吗?
首先
public void Foo()
{
Foo(String.Empty);
}
public void Foo(string message)
{
Console.WriteLine(message);
}
第二
public void Foo(string message = "")
{
Console.WriteLine(message);
}
最佳答案
我赞成方法重载。有known versioning可选参数的问题。
Jon Skeet 有一篇非常好的文章 here .
添加这个的动机是使与 COM 的对话变得更容易,其中方法可以有很多参数,而对于 C# 类的新设计实践则更少
关于c# - 方法重载与可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952127/