在string.format中添加单行if语句

时间:2011-12-20 18:40:29

标签: asp.net .net vb.net

可以在string.format参数中设置条件。

所以,如果我有

string.format("{0}" , if x = 7 then return "SEVEN" else return "ZERO")

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:4)

在VB.Net中使用三元运算符:

String.Format("{0}", If(x = 7, "SEVEN", "ZERO"))

与C#相同(正如布拉德已发布的那样):

String.Format("{0}", x == 7 ? "SEVEN" : "ZERO")

答案 1 :(得分:2)

C#
String.Format("{0}", x == 7 ? "SEVEN" : "ZERO")

内联ternary operator (?:)

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()可用。)

答案 2 :(得分:2)

是。在VB 2008及更高版本中,If运算符可用:

If(x = 7, "SEVEN", "ZERO")

在VB 2005及更低版本中,您需要使用IIf 功能

IIf(x = 7, "SEVEN", "ZERO")

(如果您的实际代码完全是您发布的内容,String.Format完全是多余的,因为它已经是一个字符串,您不需要对其进行格式化。)

答案 3 :(得分:1)

当然!使用"第三级运算符" (或实际上称为"三元运算符") - 像这样:

string.format("{0}", x == 7 ? "SEVEN" : "ZERO");