我想转换这个,如果,否则 - 如果,有人可以帮助我吗?
if (condition1)
response.Redirect(" some link");
else if (condition2)
response.Redirect("link 2");
我想转换上面的语句,但最后显示错误,需要":"。我可以使用其他任何方式吗?
LinkPurchase.PostBackUrl =((Condition)?string.Format("some link"):
(condition2)?string.Format("link 2));
答案 0 :(得分:0)
您无法将其重写为?:
运算符。
您有if
- else if
,而不只是if
- else
。
此外,您不会从Redirect
来电中选择返回值。
您希望重写?:
运算符的常见情况是:
if (condition)
something = Abc();
else
something = Xyz();
自然而然地使用:
something = condition ? Abc() : Xyz();
答案 1 :(得分:0)
你不能这样做。
这里还有其他答案告诉你,?:运算符需要“else”部分,所以是的,第一个问题就是你错过了它。
但是,Response.Redirect
不返回任何内容,因此即使使用else部分也无法执行此操作。
?:
是一个表达式,你不能用它来轻松地编写语句。
坚持if
- 陈述。