【问题标题】:Conditional Operators in C#C# 中的条件运算符
【发布时间】:2015-07-12 21:58:52
【问题描述】:

我正在尝试比较标签和文本框中的两个值。当 AvailQty 为 6 时,它被认为是“低”,如果用户输入 4 或 10,它将显示错误,因为只有 6 个可用。

我有这个:

if ((Int32.Parse(AvailQty.Text) <= 6) && (Int32.Parse(Qty.Text) > 6))
{
    lblAvailQty = "error";
}

这行得通,但我怎样才能做到这一点,以便如果用户输入超过 6 个或低于 6 个显示错误并以有效的方式进行操作,因为我觉得我会有很多 if 语句。

【问题讨论】:

  • 这是&amp;&amp; 运算符的默认行为。您的其他问题不清楚。
  • 请澄清您的问题。 让它完全停止并以有效的方式完成剩下的工作是什么意思?
  • @YuvalItzchakov 我已经改写了我的问题...

标签: c# asp.net conditional-operator comparison-operators


【解决方案1】:

因此,当可用数量小于或等于 6 时,它应该会出错。此外,如果请求数量大于可用数量,它也应该出错。

我想这就是你要找的东西:

int avail = Int32.Parse(lblAvailQty.Text);
int req = Int32.Parse(txtQty.Text);

if (avail <= 6 || req > avail)
{
    //Display error
    //Do whatever else you need
}

【讨论】:

  • 您是一名软件开发人员,您“忘记”了“或”?
【解决方案2】:

如果您在某个事件处理程序中执行此操作,您可以只输入一个“return;”运算符位于与最后一个运算符相同的 if () {} 块中。

它将有效地中断事件处理程序的执行。

例子:

if ((Int32.Parse(lblAvailQty.Text) <= 6) && (Int32.Parse(txtQty.Text) <= 6))
{
    lblAvailQty = "error";
    return;
}

【讨论】:

  • 这应该是一个评论而不是一个答案,你不觉得吗?
  • 我没有提供解决方案吗? :O
  • 嗯,有点短,恕我直言;)
猜你喜欢
  • 2023-04-03
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2014-08-09
  • 2011-02-21
相关资源
最近更新 更多