2009-06-01 9 views
1

LINQでのforeachを使用する方法私の好きなLINQを使用することができ、私は(曖昧であることのため申し訳ありません)いくつかの時間前に、いくつかのブログで読んだことがある

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

を以下は、誰もがそれが可能であるか、それだけで知っています私の想像力??

ありがとうございました。

+0

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

答えて

2

ToList()関数を使用して要素をListのリストに変換し、ForEachメソッドを使用することができます。 LinqToXmlを使用しているときは、オブジェクトモデルへの完全な潜入を行うため、Descendants()をより便利に使用できます。

xml.Elements().ToList().ForEach(ele => DoSomething(ele)); 
4

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

あなたが達成しようとしていることを教えていただけたら、おそらく最良の方法を見つけるのに役立つでしょう。

1

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

0

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

+4

元の質問を更新してください。これはQ&Aサイトであり、ディスカッションフォーラムではありません。それは素晴らしい区別ですが、それはこのスペースが厳密に "解答"を意図したものであり、明確化ではないことを意味します。 –

関連する問題