三元运算符错误

本文关键字:运算符 错误 三元 | 更新日期: 2023-09-27 18:15:54

我想转换这个如果,否则,如果,有人能帮我吗?

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

三元运算符错误

不能重写为?:运算符

你有一个if - else if,而不仅仅是if - else

此外,您不会从Redirect调用中获取返回值。

通常需要重写为?:操作符的情况是:

if (condition)
  something = Abc();
else
  something = Xyz();

自然地使用:

something = condition ? Abc() : Xyz();

你不能这么做。

这里还有其他的答案告诉你?:运算符需要"else"部分,所以是的,第一个问题是你忽略了它。

但是,Response.Redirect不返回任何内容,因此即使使用else部分也不能执行

?:是一个表达式,你不能(很容易地)用它来写语句。

坚持使用if -语句