【发布时间】:2011-12-20 18:40:28
【问题描述】:
能否在 string.format 参数中设置条件。
如果我有
string.format("{0}" , if x = 7 then return "SEVEN" else return "ZERO")
有没有办法做到这一点?
【问题讨论】:
能否在 string.format 参数中设置条件。
如果我有
string.format("{0}" , if x = 7 then return "SEVEN" else return "ZERO")
有没有办法做到这一点?
【问题讨论】:
在 VB.Net 中使用三元运算符:
String.Format("{0}", If(x = 7, "SEVEN", "ZERO"))
在 C# 中相同(正如 Brad 已经发布的那样):
String.Format("{0}", x == 7 ? "SEVEN" : "ZERO")
【讨论】:
是的。在 VB 2008 及更高版本中,If 运算符可用:
If(x = 7, "SEVEN", "ZERO")
在VB 2005及更低版本中,需要使用IIf函数:
IIf(x = 7, "SEVEN", "ZERO")
(如果您的实际代码与您发布的完全一致,String.Format 完全是多余的,因为它已经是一个字符串,您不需要对其进行格式化。)
【讨论】:
C#
String.Format("{0}", x == 7 ? "SEVEN" : "ZERO")
VB.NET
String.Format("{0}", IIf(x = 7, "SEVEN", "Zero")) ' Pre-Visual Studio 2008
String.Format("{0}", If(x = 7, "SEVEN", "Zero")) ' Visual Studio 2008 and forward
内联ternary method (IIf())(此外,从 VS2008 开始,可以使用简写 If()。)
【讨论】:
IIf() 和If(),但选择权在你。 :grin: 编码愉快!
绝对!使用“三元运算符”(或实际上称为“三元运算符”) - 像这样:
string.format("{0}", x == 7 ? "SEVEN" : "ZERO");
【讨论】: