我正在尝试检查一个布尔值,然后显示一个整数:
@( ViewBag.HaveBeenHere ? submission.DurationInMonths )
我收到错误:
CS1003:语法错误,':'预期
我知道:是为了别人,但在这种情况下,我没有别的。
当我这样添加时:
@( ViewBag.HaveBeenHere ? submission.DurationInMonths : "" )
我收到此错误:
CS0173:无法确定条件表达式的类型,因为'int'和'string'之间没有隐式转换
如何使用简写if if语句检查布尔值并在视图中显示整数?
答案 0 :(得分:10)
如果你想保留语法,你可以这样做:
@( ViewBag.HaveBeenHere ? submission.DurationInMonths.ToString() : "" )
添加ToString()
当然会使返回类型相同。
答案 1 :(得分:5)
那个简短的手是if-else所以它只是在这里工作。你可以做;
@( if(ViewBag.HaveBeenHere) { submission.DurationInMonths; } )
而且它已经不在了。如果你有一个衬垫,你可以把它放在与if
条件相同的一行。
答案 2 :(得分:2)
您没有。只需使用if
声明即可。
@( if(ViewBag.HaveBeenHere) submission.DurationInMonths; )
条件运算符(?:)返回取决于两个值之一 关于布尔表达式的值。