Entonces, este código verifica para asegurarse de que el usuario haya ingresado un operador matemático adecuado en mi calculadora, pero no importa lo que haga, el código SIEMPRE me da falso y me está volviendo loco.
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; }Creo que necesita txtOperator.Text en lugar de txtOperator.ToString() en la llamada a IsOperator , asumiendo que txtOperator es un TextBox.
¿Ya depuraste la aplicación e inspeccionaste el valor?
Probablemente solo necesite pasar la propiedad Texto de ese cuadro de texto ...
if (IsOperator(txtOperator.Text, "Operator")) { ...El método en sí podría optimizarse para algo como:
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; } }