C# 当字符串为空时,捕获字符串(从XML文件)到int转换中的异常
我有一个从XML文件填充数据网格的程序 这是我代码的一部分:C# 当字符串为空时,捕获字符串(从XML文件)到int转换中的异常,c#,exception,C#,Exception,我有一个从XML文件填充数据网格的程序 这是我代码的一部分: public class Input { public string dummyText { get; set; } public string dummyText { get; set; } public int dummyText { get; set; } //int value needed here public string du
public class Input
{
public string dummyText { get; set; }
public string dummyText { get; set; }
public int dummyText { get; set; } //int value needed here
public string dummyText { get; set; }
public string dummyText { get; set; }
}
private void fill_dataGrid()
{
List<Input> users = new List<Input>();
foreach (XElement el in xdoc.Descendants("dummyText"))
{
users.Add(new Input()
{
dummyText = el.Element("dummyText").Value,
dummyText = el.Element("dummyText").Value,
hereProblem = Convert.ToInt32(el.Element("dummyText").Value), // pot. error here
dummyText = el.Element("dummyText").Value,
dummyText = el.Element("dummyText").Value
});
}
dataGrid.ItemsSource = users;
}
公共类输入
{
公共字符串dummyText{get;set;}
公共字符串dummyText{get;set;}
public int dummyText{get;set;}//此处需要int值
公共字符串dummyText{get;set;}
公共字符串dummyText{get;set;}
}
专用空白填充_dataGrid()
{
列表用户=新列表();
foreach(xdoc.substands(“dummyText”)中的XElement el)
{
添加(新输入()
{
dummyText=el.Element(“dummyText”).Value,
dummyText=el.Element(“dummyText”).Value,
hereProblem=Convert.ToInt32(el.Element(“dummyText”).Value),//此处为pot.error
dummyText=el.Element(“dummyText”).Value,
dummyText=el.Element(“dummyText”).Value
});
}
dataGrid.ItemsSource=用户;
}
在标有“hereProblem”的行中,我想将XML值(字符串)转换为整数。但有时没有可转换的值,因此会抛出错误
问题:我如何处理这个值的异常,即当没有要转换的值时,它什么也不做
我如何处理这个值的异常,当没有值可转换时,它什么也不做
考虑一下
TryParse()。它还将out值设置为默认值(0),因此您不必担心该值未初始化
例如:
if(int.TryParse(el.Element(“dummyText”).Value,out int-foundValue))
{
添加(新输入()
{
dummyText=el.Element(“dummyText”).Value,
dummyText=el.Element(“dummyText”).Value,
此处问题=foundValue,
dummyText=el.Element(“dummyText”).Value,
dummyText=el.Element(“dummyText”).Value
});
}
其他的
{
//做点别的,或者什么都不做。
}
int.Parse在输入为空字符串时也会引发异常,尽管它肯定会!我完全忘记了它,尽管我只是读了它的MSDN并贴了一个链接