1

を実装していないオブジェクトに対して LINQ ステートメントを実行できないことはわかっていますIEnumerable<T>。また、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>が実装されているかわかりません。ここで何が欠けていますか?

4

1 に答える 1

5

XDocument から直接 LINQ を使用するのではなく、必要なインターフェイスを実装するXDocument.Descendantsやなど、その中のメソッドから LINQ を使用します。Elements

于 2013-04-22T01:05:31.597 に答える