13

何らかのアクションを実行するためのメソッドを使用していますが、メソッドのオーバーロード以外に、C#でオプションのパラメーターを使用してメソッドを1回だけ記述したいのですが、何かありますか?

4

5 に答える 5

39

VisualStudio2010の新機能

名前付きおよびオプションの引数

例えば

public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
{
}
于 2011-02-25T11:28:04.433 に答える
14

次のコードを見てください

使用するライブラリ

using System.Runtime.InteropServices;

関数宣言

private void SampleFunction([Optional]string optionalVar, string strVar)
{
}

そして、関数を呼び出している間、あなたはこのようにすることができます

SampleFunction(optionalVar: "someValue","otherValue");

また

SampleFunction("otherValue");

役に立ったら返信してください。!:)

于 2012-11-06T06:35:04.120 に答える
9

はい、オプションのパラメーターを使用します(C#4で導入)。

public void ExampleMethod(int required, string optionalstr = "default string",
    int optionalint = 10)

仮パラメータにデフォルト値を指定すると、オプションになります。

以前のバージョンでは、オーバーロードが唯一のオプションです。

于 2011-02-25T11:26:38.360 に答える
4

これらはC#2010(通常、Framework 4.0を使用するVS2010)で導入されました。名前付き引数とオプションの引数(C#プログラミングガイド)を参照してください。

以前のC#バージョンでは、オーバーロード(またはパラメーター配列)で立ち往生しています。

于 2011-02-25T11:26:33.673 に答える
2

C#4.0を使用している場合はそうです。

次に、次のようにメソッドを定義できます。

public void Foo( int a = 3, int b = 5 ){
  //at this point, if the method was called without parameters, a will be 3 and b will be 5.
}
于 2011-02-25T11:27:12.970 に答える