如何在相等语句中插入 if else

本文关键字:插入 if else 语句 | 更新日期: 2023-09-27 17:52:17

我需要将条件设置为以下代码。

_orderStatus = Request.QueryString["order"] != null ? Request.QueryString["order"] : _orderStatus != "" ? _orderStatus : "pending";

目前,该条件仅适用于显示挂单。我如何更改和添加以获得以下条件:

if Request.QueryString["order"] != null then 
  _orderStatus: "pending"
else 
  _orderStatus: "confirmed"

谢谢

如何在相等语句中插入 if else

应该是这样的

_orderStatus = Request.QueryString["order"] != null ? "pending" : "Confirmed";

上述答案的附加说明:让我将您的要求复制到答案中:

如果 Request.QueryString["order"] != null,则_orderStatus:"挂起" 否则_orderStatus:"已确认">

这里你需要将结果赋值给变量_orderStatus,条件算子会为你做,你不需要在算子内做额外的赋值。

使用条件运算符时,if.. then可以替换为? 否则将被替换为:结果将分配给 _orderStatus .

现在查看您的代码(包含在答案中(,并按照我所说的应用替换。 然后你会得到如下答案:

_orderStatus = Request.QueryString["order"] != null ? "pending" : "Confirmed";

检查查询字符串的赌注方式 然后,试试这个

  if (!string.IsNullOrEmpty(Request.QueryString["order"]))
          _orderStatus = "pending";
  else
         _orderStatus = "confirmed";

有多种方法可以做到这一点,您可以简单地检查 null 或 Empty,方法是使用 if 条件像这样

 if (!string.IsNullOrEmpty(Request.QueryString["order"]))
      _orderStatus = "pending";
else
     _orderStatus = "confirmed";

或者您可以使用条件表达式作为参考,您可以通过此链接

对于您的问题,您可以使用这种方式

_orderStatus = Request.QueryString["order"] != null ? "pending" : "Confirmed";

没有理由期望性能有任何差异。

在我看来,只有在所有三个操作数都非常简洁且易于阅读时才应使用三元运算符。否则,我认为它有可能使代码更难阅读。

我认为很多人通过在一长行代码中使用过多的逻辑来滥用这个运算符。我个人不会使用它,除非整行少于 80 个字符。