0

string.formatのifステートメントはどうすればよいですか? x=0、x=1、または x=null かどうかを確認する必要があります。2 つの値を使用できることはわかっていますが、ここに別の else ステートメントを追加する方法がわかりません。

String.Format("{0}", x == 0 ? "True" : "False")
4

3 に答える 3

4
String.Format("{0}", x == null ? "<null>": (x == 0 ? "True" : "False"))
于 2013-03-19T19:05:05.183 に答える
2

私は三元ifの入れ子が好きではありません。一般的に、使用するC#のバージョンに応じて、次のことを試すことができます。

var values = new Dictionary<int?, string>()
{
    { 0, "zero"},
    { 1, "one"},
    { 2, "two"},
    { null, "none"}
};

String.Format("{0}", values[x]);

IMO、3つを超える値のifステートメントでは、テーブルは常に複雑になります。

于 2013-03-19T19:07:58.453 に答える
2

ここに別のelseステートメントを追加する方法

のネスト?:は可能ですが、ほとんどの場合、悪い考えです。

直接の答えは、単に使用することであるとx仮定します:int?( )

 String.Format("{0}", x == null ? "Null" : (x.Value == 0 ? "True" : "False"))
于 2013-03-19T19:04:51.537 に答える