重複する質問
これを.Net 2.0のC#で実行できますか?
public void myMethod(string astring, int? anint)
{
//some code in which I may have an int to work with
//or I may not...
}
そうでない場合、私ができる類似のものはありますか?
はい、シェブロンを意図的に追加し、本当に意味があると仮定します。
public void myMethod(string astring, int? anint)
anint
にHasValue
プロパティが追加されました。
あなたが達成したいものに依存します。 anint
パラメータを削除できるようにするには、オーバーロードを作成する必要があります。
public void myMethod(string astring, int anint)
{
}
public void myMethod(string astring)
{
myMethod(astring, 0); // or some other default value for anint
}
これで次のことができます。
myMethod("boo"); // equivalent to myMethod("boo", 0);
myMethod("boo", 12);
Null可能なintを渡したい場合は、他の回答を参照してください。 ;)
C#2.0では、次のことができます。
public void myMethod(string astring, int? anint)
{
//some code in which I may have an int to work with
//or I may not...
}
そして、メソッドを次のように呼び出します
myMethod("Hello", 3);
myMethod("Hello", null);