c# - 方法重载与可选参数

标签 c# c#-4.0 methods optional-parameters

我似乎记得读过 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/

相关文章:

c# - 按另一个字符串的位置对字符串进行排序

c# - 如何从 C# 服务终止 Java 应用程序

attributes - C# 中的 lambda 表达式和属性

r - R中的不可见函数/方法-它们是如何制作的?

C# - 线程的行为是否可以像BackgroundWorkers (winForms) 一样?

c# - Visual Studio 2010 中的问题,更改资源正在将构造函数设置为内部

c#-4.0 - HttpClient 包装器与 Autofac for Web API

c#-4.0 - Solr 搜索查询返回全头异常

Java - 方法声明中的类名,返回类型应该是

Java 返回一个新对象 *完全初学者