gpt4 book ai didi

c# - 当我试图解析的文本框中没有输入任何内容时,应用程序崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:58 25 4
gpt4 key购买 nike

我正在 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/elseif 部分code> block 不会执行。

我建议使用 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.";
}
}

关于c# - 当我试图解析的文本框中没有输入任何内容时,应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36102172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com