Fehlerbehebung bei dem Fehler "Eingabebestand, der nicht in einem korrekten Format war" in Ihrem C# -Conator
Dieser gemeinsame C# -Fehler "Eingabezeichenfolge war nicht in einem korrekten Format", taucht normalerweise auf, wenn versucht wird, eine Zeichenfolge (wie Text aus einem Textfeld) in eine Zahl (z. B. eine Ganzzahl) umzuwandeln. In Ihrem Taschenrechner geschieht dies wahrscheinlich, da der Code versucht, den Textbox -Inhalt in Ganzzahlen zu konvertieren, bevor der Benutzer alle gültigen Zahlen eingegeben hat.
Das Problem beruht auf der Initialisierung von Ganzzahlvariablen im Konstruktor. Zu diesem Zeitpunkt sind die Textboxen leer oder enthalten nicht numerische Daten, wodurch Int32.Parse
fehlschlägt.
Das Fix:
Die Lösung besteht darin, die Nummernkonvertierung auf die Schaltfläche zu verschieben Klicken Sie mit Ereignishandlern. Dies stellt sicher, dass die Textboxen vor den Konvertierungsversuch Benutzereingabe enthalten.
Hier erfahren Sie, wie Sie Ihre Schaltfläche ändern können. Klicken Sie auf Ereignishandler:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e) { if (int.TryParse(textBox1.Text, out int a) && int.TryParse(textBox2.Text, out int b)) { add(a, b); result(); } else { // Handle invalid input (e.g., display an error message) MessageBox.Show("Please enter valid numbers."); } } private void button2_Click(object sender, EventArgs e) { if (int.TryParse(textBox1.Text, out int a) && int.TryParse(textBox2.Text, out int b)) { subtract(a, b); result(); } else { MessageBox.Show("Please enter valid numbers."); } }</code>
Wichtige Verbesserung: Verwendung Int32.TryParse
Der obige Code verwendet Int32.TryParse
statt Int32.Parse
. TryParse
ist deutlich besser, weil es:
true
zurück, wenn die Konvertierung erfolgreich ist und false
ansonsten verhindern, dass das Programm abstürzt. MessageBox.Show
) hinzufügen, um den Benutzer über ungültige Eingaben zu informieren. Dieser robuste Ansatz macht Ihren Taschenrechner viel benutzerfreundlicher und verhindert unerwartete Abstürze. Denken Sie daran, die Parameter add()
und subtract()
zu akzeptieren.
Das obige ist der detaillierte Inhalt vonWarum wirft mein C# -Calculator eine 'Eingangszeichenfolge nicht in einem korrekten Format' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!