【发布时间】: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.TextBox或System.Windows.Controls.TextBox。您很可能想要IsOperator(txtOperator.Text... 它将提供用户输入的文本...
标签: c# methods switch-statement boolean