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