1

少し前にいくつかのブログで読んだことがあります(あいまいで申し訳ありません)。次のようなlinqを使用できます

var list = from c in xml
           select new 
           {
              foreach(XElement el in c.Elements())
              {
              }
           }

誰かがそれが可能か知っていますか、それとも私の想像ですか??

ありがとう。

4

4 に答える 4

4

foreach匿名型の初期化式でループを直接使用することはできません。

何を達成しようとしているのかを教えていただければ、最善の方法を見つけるお手伝いができるかもしれません。

于 2009-06-01T14:04:35.153 に答える
2

ToList() 関数を使用して要素を List のリストに変換し、その上で ForEach メソッドを使用できます。参考までに、LinqToXml を使用する場合、オブジェクト モデルに完全に飛び込むため、Descendants() の方が便利です。

xml.Elements().ToList().ForEach(ele => DoSomething(ele));
于 2009-12-05T19:40:31.577 に答える
1

それはあなたの想像です。foreach ループで linq クエリの結果を使用できますが、匿名型の宣言でそのような foreach ループを使用することはできません。

于 2009-06-01T14:04:52.423 に答える
0

わかりました、私は 2 つの部分を持つ xml を持っています。最初に xml のフィールドを宣言し、2 番目の部分には最初の部分の宣言に関連付けられたデータがあります。だから私がやろうとしているのは、最初のフィールド定義を読み、それを使用して2番目のセクションでデータの匿名クラスを作成することです。さまざまなフィールド定義を持つさまざまなソースからデータを取得するため、プログラムにハードコーディングしないようにしています。

于 2009-06-01T14:26:01.023 に答える