-1

谁能告诉我为什么这段代码会被破坏以及如何在用 C# 编写的 Windows Phone 8 Emulator 中更正它,显示错误:System.FormatException发生类型异常mscorlib.ni.dll但未在用户代码中处理

 私人无效 ClickMeButton_Click(对象发送者,RoutedEventArgs e)
        {
            First_text.Visibility = Visibility.Visible;
            Second_text.Visibility = 可见性.可见性;
            BannerTextBlock.Text = Convert.ToString(Convert.ToInt32(First_text.Text) + Convert.ToInt32(Second_text.Text));
            First_text.Text = String.Empty;
            Second_text.Text = String.Empty;

        }
4

1 回答 1

1

要么包含整数,First_text.Text要么Second_text.Text不包含整数,因此您的Convert.ToInt32方法会抛出FormatException.

有多种方法可以修复它,例如在用户输入数字时验证文本框或将呼叫置于Try...Catch块中。或者,只需使用Int32.TryParse代替。例如

int firstTextBox;
int secondTextBox;

if (Int32.TryParse(First_text.Text, out firstTextBox) && Int32.TryParse(Second_Text.Text, out secondTextBox))
{
    BannerTextBlock.Text = (firstTextBox + secondTextBox).ToString();
}
于 2013-06-23T18:08:45.617 回答