C# LINQ to XML 对象提取
C# LINQ to XML Object Extraction
我是 C# 和 LINQ 的新手。我有以下代码可以从 XML:
中提取
var objects = from elem in xml
select new
{
Obj1 = new Obj1((elem.Element("key1")).Value),
Obj2 = new Obj2((elem.Element("key2")).Value)
};
对象是可枚举的。有没有一种方法可以将其作为元组获取,在其中我可以直接访问 Obj1 和 Obj2 而无需迭代?
您可以使用 objects.First()
或 objects.FirstOrDefault()
。这两种方式的区别在于,如果 IEnumerable 中没有对象,则 FirstOrDefault
将 return null
。如果没有对象,First()
的调用将抛出一个 Exception
。
我是 C# 和 LINQ 的新手。我有以下代码可以从 XML:
中提取var objects = from elem in xml
select new
{
Obj1 = new Obj1((elem.Element("key1")).Value),
Obj2 = new Obj2((elem.Element("key2")).Value)
};
对象是可枚举的。有没有一种方法可以将其作为元组获取,在其中我可以直接访问 Obj1 和 Obj2 而无需迭代?
您可以使用 objects.First()
或 objects.FirstOrDefault()
。这两种方式的区别在于,如果 IEnumerable 中没有对象,则 FirstOrDefault
将 return null
。如果没有对象,First()
的调用将抛出一个 Exception
。