3

ボタンをクリックして数値が奇数か偶数かを出力するときに、数値の代わりに文字列を入力するとエラー メッセージが表示されるように、try catch ステートメントを使用する方法を理解しようとしています。数値が文字列であるかどうかを確認するために bool ステートメントを使用する方法を知っています。どんな助けでも大歓迎です、事前に感謝します!

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        int oddOrEven = 0;


        try
        {
             oddOrEven = Convert.ToInt32(txtNumber.Text);
        }

        catch
        {
            tbkOutput.Text = "You must enter a number, please try again";
        }

        if (oddOrEven % 2 == 0)
        {
            tbkOutput.Text = "Number is even";

        }
        else
        {
            tbkOutput.Text = "Number is odd";
        }


    }
4

2 に答える 2

3

例外によってプログラム フローが決定されないようにする必要があります。次のような関数がある場合、ここでそれを行う意味はありませんint.TryParse

int output = 0;

if (int.TryParse(txtNumber.Text, out output)) {
    // its a number
}
else {
    // it isn't a number
}
于 2013-10-05T12:22:32.767 に答える
3

try catch に基づいてロジックを実際に実装するべきではありません。TryParse の使用を検討してください。

    int oddOrEven = 0; 
    if(!Int32.TryParse(txtNumber.Text, out oddOrEven))
    {
        tbkOutput.Text = "You must enter a number, please try again";
        return;
    }
于 2013-10-05T12:22:53.767 に答える