0

string.format 中的 if 语句怎么办?我需要检查 x=0、x=1 或 x=null 我知道我可以使用两个值,但我不确定如何在此处添加另一个 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

如何在此处添加另一个 else 语句

嵌套?:是可能的,但几乎总是一个坏主意。

一个直接的答案,假设xint?只使用( )

 String.Format("{0}", x == null ? "Null" : (x.Value == 0 ? "True" : "False"))
于 2013-03-19T19:04:51.537 回答
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 回答