System.Xml.Linq.XDocument类是否实现IEnumerable <t>?</t>

时间:2013-04-22 00:57:51

标签: c# linq

我知道你不能在没有实现IEnumerable<T>的对象上运行LINQ语句。我也知道你可以针对XDocument类的实例运行LINQ语句。

例如我可以做

    XDocument people = XDocument.Load(@"People.xml");

    var legalDrinkers = from x in people.Descendants("person")
                        where int.Parse(x.Attribute("Age").ToString()) > 21
                        select x;

但是当我查看XDocument的元数据及其继承层次结构中的所有上游类时,我看不到实现IEnumerable<Xdocument>的位置。我在这里缺少什么?

1 个答案:

答案 0 :(得分:5)

您不直接从XDocument使用LINQ,而是使用其中的方法,例如XDocument.DescendantsElements来实现所需的接口。