可以在string.format参数中设置条件。
所以,如果我有
string.format("{0}" , if x = 7 then return "SEVEN" else return "ZERO")
有没有办法做到这一点?
答案 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")
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");