【发布时间】:2014-07-15 07:18:09
【问题描述】:
我正在开发一个 Windows 窗体应用程序。我正在解析一个 XML 文件并进行一些查询。例如,在这种情况下,我试图找到体重在 55 到 100 之间的所有用户。出于某种原因,当我运行此代码时,我得到一个未处理的格式异常。为什么我收到格式异常。我已经指出了发生异常的断点。我认为问题是语法错误。 感谢您的帮助。
private bool UserWeighsBetween55and100(IEnumerable<XElement> paramsList) {
bool result = false;
foreach (XElement parameter in paramsList) {
if (parameter.Attribute("name").Value == "Weight") {
--->HERE if ((Int32.Parse(parameter.Attribute("value").Value) > 55) &&
(Int32.Parse(parameter.Attribute("value").Value) < 100)){
return true;
}
}
}
return result;
}
【问题讨论】:
-
parameter.Attribute("value").Value的确切类型是什么,它的价值是什么?你的CurrentCulture是什么? -
为字符串,例如“110”
-
如果问题是语法问题,那么程序将无法编译
-
Int32.Parse MSDN =>
FormatException:s 格式不正确。 -
@Ralphyabro 使用
foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures)),没有任何文化抛出Int32.TryParse("110", culture)异常
标签: c# xml winforms parsing exception-handling