Passing null arguments to C# methods
は、私は、.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...
}
もしそうでない場合、私はできることがありますか?
Passing null arguments to C# methods
は、私は、.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
性質を持つことになります。
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);
のようなメソッドを呼び出すには、あなたが達成したいかに依存します。あなたが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型を渡したい場合は、よく、見他の答え。 ;)
+1多型を使用する良い提案 –
多相性ではありません –
@Garry、そうですね。 –
私は検索しましたが、重複は出てこなかった、またはこれが答えました。皆さんありがとう。 –