由于MYTAG1不存在,因此我得到了一个空异常。我了解这是因为Element(“ MYTAG1”)为null,并且在其上调用Elements(“ MYTAG2”)无效。
我该如何处理以防止崩溃?
var myItems = from myNode in Nodes.Element("MYTAG1").Elements("MYTAG2")
select new EPTableItem
{
// Assign stuff here
};
最佳答案
我想不出一种将if
语句合并到C#查询语法中的聪明方法,因此我将提出以下解决方案,该解决方案在执行查询之前检查所需的节点。
var myItems;
XElement myTag1 = myNode.Element("MYTAG1");
if (myTag1 != null)
{
myItems = from myNode in myTag1.Elements("MYTAG2")
select new EPTableItem
{
// Assign stuff here
};
}