【问题标题】:Bool method keeps returning falseBool 方法一直返回 false
【发布时间】:2021-12-20 16:35:56
【问题描述】:

因此,此代码检查以确保用户在我的计算器中输入了正确的数学运算符,但无论我做什么,代码总是给我错误,这让我发疯。

if (IsOperator(txtOperator.ToString(), "Operator")




        public bool IsOperator(string textBox, string name)
        {
            switch (textBox)
            {
                case "*":
                    return true;
                case "x":
                    return true;
                case "/":
                    return true;
                case "+":
                    return true;
                case "-":
                    return true;
            }
                MessageBox.Show(name + " must be a valid math operator.", "Entry Error");
                return false;
        }

【问题讨论】:

  • 使用调试器。 textBox参数的值是多少?
  • 你可以调试你的代码很容易找到问题。将IsOperator(txtOperator.ToString(), "Operator") 调用的返回值放入一个变量中,并在调试模式下对其进行检查。您将能够查看该值是否符合您的预期。
  • 旁白:您可以通过删除return true; 来组合case 语句,除了最后一个
  • textBox.ToString() 很可能会返回类型名称,例如 System.Windows.Forms.TextBoxSystem.Windows.Controls.TextBox。您很可能想要IsOperator(txtOperator.Text... 它将提供用户输入的文本...

标签: c# methods switch-statement boolean


【解决方案1】:

假设txtOperator 是一个文本框,我认为您在调用IsOperator 时需要txtOperator.Text 而不是txtOperator.ToString()

您是否已经调试过应用并检查了值?

【讨论】:

    【解决方案2】:

    可能您只需要传入该文本框的 Text 属性...

       if (IsOperator(txtOperator.Text, "Operator")) { ...
    

    方法本身可以优化为:

        public bool IsOperator(string textEntered, string name)
        {
            switch (textEntered?.Trim())
            {
                case "*":
                case "x":
                case "/":
                case "+":
                case "-":
                    return true;
    
                default:
                    MessageBox.Show(name + " must be a valid math operator", "Entry Error");
                    return false;
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-07
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 2014-01-11
      • 2015-12-21
      相关资源
      最近更新 更多