2009-10-20 11 views
5

intが自動生成されたKeyで、LINQを使用した文字列(ノードの値)をDictionaryに格納する方法は? Dictionary<int,String>に私の選択を有効にする方法Linq to XML - 辞書変換

Elements:

XElement instructors = 
     XElement.Parse(
          @"<instructors> 
           <instructor>Daniel</instructor> 
           <instructor>Joel</instructor> 
           <instructor>Eric</instructor> 
           <instructor>Scott</instructor> 
           <instructor>Joehan</instructor> 
         </instructors>" 
     ); 

partially attempted code is given below :

var qry = from instr in instructors.Elements("instructor") 
where((p,index)=> **incomplete**).select..**incomplete**; 

? (キーは1から始まり、Linqは0から始まる)。

答えて

8

方法について:

var dictionary = instructors.Elements("instructor") 
          .Select((element, index) => new { element, index }) 
          .ToDictionary(x => x.index + 1, 
              x => x.element.Value); 
+1

はい、それは非常に正常に動作している、あなたはLINQの特別な記事を書かれている –

+0

おかげ? –

+0

本当に - それほど頻繁にそれについてブログをしています。 –