![](/img/trans.png)
[英]I'm trying to create a method within a class that will return a specific string but nothing is returned when I run the console app
[英]App crashes when nothing is entered in the TextBoxes I'm trying to parse
我正在Visual Studio中為Windows Phone開發應用程序,這是我第一次使用C#語言,因為我是一名Android開發人員,所以我不知道為什么如果不輸入任何內容,我的應用程序會在按下按鈕時崩潰。
如果有人可以幫助,那將是很棒的。 非常感謝!!
private void sum_Click(object sender, RoutedEventArgs e)
{
decimal n1 = decimal.Parse(num1.Text);
decimal n2 = decimal.Parse(num2.Text);
decimal n3 = decimal.Parse(num3.Text);
if (n1.Equals(null) || n2.Equals(null) || n3.Equals(null))
{
sum1.Text = "Enter something!";
}
else
{
decimal sum = n1 + n2 + n3;
String m = Convert.ToString(sum);
sum1.Text = m;
}
}
嘗試解析空文本字段(或包含無效數據的字段)是引發異常並導致崩潰的最有可能的候選方法。 另外, decimal.Parse
的結果也不會為null
,因此if/else
塊的if
部分將不會執行。
我建議改用decimal.TryParse
,它允許您在解析失敗時執行某些操作(例如顯示消息)。
private void sum_Click(object sender, RoutedEventArgs e)
{
decimal n1;
decimal n2;
decimal n3;
if (decimal.TryParse(num1.Text, out n1)
&& decimal.TryParse(num2.Text, out n2)
&& decimal.TryParse(num3.Text, out n3))
{
decimal sum = n1 + n2 + n3;
String m = Convert.ToString(sum);
sum1.Text = m;
}
else
{
sum1.Text = "One or more fields has a missing/invalid value.";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.