2013-06-23 102 views
0

誰能告訴我爲什麼這個代碼是打破以及如何糾正它在C#編寫的顯示錯誤的Windows Phone 8模擬器: System.FormatException類型的異常出現在mscorlib.ni.dll但在用戶代碼的Windows Phone 8計算器

沒有處理
 

private void ClickMeButton_Click(object sender, RoutedEventArgs e) 
     { 
      First_text.Visibility = Visibility.Visible; 
      Second_text.Visibility = Visibility.Visible; 
      BannerTextBlock.Text = Convert.ToString(Convert.ToInt32(First_text.Text) + Convert.ToInt32(Second_text.Text)); 
      First_text.Text = String.Empty; 
      Second_text.Text = String.Empty; 

     } 
+0

是否顯示錯誤或拋出異常? – 2013-06-23 19:50:44

+0

引發異常 –

+0

空間不解析爲0(可能是您的困惑的來源)。 – Mr47

回答

1

無論First_text.TextSecond_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(); 
}