三元运算符错误

时间:2014-07-31 15:00:43

标签: c# asp.net if-statement conditional-operator

我想转换这个,如果,否则 - 如果,有人可以帮助我吗?

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));

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 - 陈述。