C# 当null使windows应用商店应用程序崩溃时的数量按钮
我创建了一个windows应用商店应用程序,它有两个按钮,允许我的用户选择大量图片。当他们需要选择金额时,该控件会工作,但如果他们想清除该金额,则单击文本框内的“X”,然后按下按钮,应用程序就会崩溃 调试时,我的代码块出现以下错误:C# 当null使windows应用商店应用程序崩溃时的数量按钮,c#,xaml,button,windows-8,windows-store-apps,C#,Xaml,Button,Windows 8,Windows Store Apps,我创建了一个windows应用商店应用程序,它有两个按钮,允许我的用户选择大量图片。当他们需要选择金额时,该控件会工作,但如果他们想清除该金额,则单击文本框内的“X”,然后按下按钮,应用程序就会崩溃 调试时,我的代码块出现以下错误: {输入字符串的格式不正确。} 我在尝试增加或减少图片数量时也会遇到同样的错误 关于此错误的任何帮助都将非常有用。此行将抛出您的错误 int? value = Convert.ToInt32(this.Pic.Text); 原因是Convert.ToInt32假定您
{输入字符串的格式不正确。} 我在尝试增加或减少图片数量时也会遇到同样的错误
关于此错误的任何帮助都将非常有用。此行将抛出您的错误
int? value = Convert.ToInt32(this.Pic.Text);
原因是Convert.ToInt32假定您有一个有效的整数,并在其他情况下抛出一个异常,包括null
我建议有两种选择
首先,在执行任何其他操作之前,请先检查文本值:
private void PicturesSubtract_Click(object sender, RoutedEventArgs e)
{
if(String.IsNullOrEmpty(this.Pic.Text))
return;
....
第二,使用Int.TryParse方法:
private void PicturesSubtract_Click(object sender, RoutedEventArgs e)
{
int value;
if(int.TryParse(this.Pic.Text, out value))
{
//...Do Stuff, Value is stored at this point
可能还有其他选项,但这是我最熟悉的两个。好吧,好吧…可能不是所有其他情况下…我认为如果它是一个带小数点的有效数字,则会截断该值,我自己从来没有尝试过这样使用它。在我检查空值并使用tryParse之后,仍然会出现错误。输入字符串的格式不正确,这意味着,从字面上来说。如果您的输入字符串不是null,也不是整数,那么Convert仍然会抛出该错误。据我所知,特里帕斯不会抛出那个错误。如果您仍然收到此消息,并且正在使用int.TryParse,请仔细检查错误的来源,因为它不会出现在该代码中。
private void PicturesSubtract_Click(object sender, RoutedEventArgs e)
{
int value;
if(int.TryParse(this.Pic.Text, out value))
{
//...Do Stuff, Value is stored at this point