2

私は最初にオプションの引数を使用していますが、これら2つのメソッド定義の違いを理解できません。

private void method1([Optional, DefaultParameterValue(string.Empty)] string testString)
{
    //do something
}

private void method2(string testString = "")
{
    //do something
}

method1の定義には以下が必要です。

using System.Runtime.InteropServices;

Method2の定義は小さく、インポートする必要はありません。

これらのメソッド構文の1つを使用する前に、何かを検討する必要がありますか?

4

1 に答える 1

3

方法1は、.NET1.1以降に存在していました。

方法2はC#4で導入されました(C#はそれまでオプションのパラメーターをサポートしていませんでした)。

于 2011-06-02T14:17:00.367 に答える