トラブルシューティング「入力文字列は正しい形式ではありませんでした」エラーはc#計算機
この一般的なC#エラー「入力文字列は正しい形式ではありませんでした」は、通常、文字列(テキストボックスのテキストなど)を数字(整数など)に変換しようとするとポップアップします。 計算機では、ユーザーが有効な番号を入力する前に、コードがテキストボックスの内容を整数に変換しようとしようとするため、これが起こる可能性があります。問題は、コンストラクター内の整数変数の初期化に起因します。 この時点で、テキストボックスは空であるか、数字以外のデータが含まれているため、
が失敗します。
Int32.Parse
ソリューションは、数字の変換をボタンクリックイベントハンドラーに移動することです。これにより、テキストボックスには、変換の試行の前にユーザー入力が含まれています
ボタンクリックイベントハンドラーを変更する方法は次のとおりです
重要な改善:
<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>
上記のコードは、の代わりにInt32.TryParse
を使用します。 は、それが非常に優れているため、
Int32.TryParse
Int32.Parse
エラーを優雅に処理します:TryParse
変換が成功した場合は
true
エラーハンドリング(false
例のように)を追加して、無効な入力についてユーザーに通知できます。
MessageBox.Show
および以上がC#計算機が「入力文字列が正しい形式ではなかった」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。