0

次のようなデータのコレクションがあります。

Dictionary<string, Dictionary<string,IEnumerable<AGString>>> Data = new Dictionary<string, Dictionary<string,IEnumerable<AGString>>>();

Dictionary<string,IEnumerable<AGString>> stdData = new Dictionary<string,IEnumerable<AGString>>();

後で、このデータを抽出して別のデータ構造に配置する必要があります。たとえば、次のようにデータを作成しました。

stdData.Add(item.ObjectName,item.Contents); // this creates the inner dictionary
Data.Add(collection,stdData); //This creates the final Data dictionary

Data.Key、Data.Keys を使用して情報を抽出しようとしましたが、データを抽出できません。どんな手掛かり?

4

2 に答える 2

0

したがって、この問題を解決するエレガントな方法は、Linq を使用することであり、母音を購入する必要はありません。この構造には、内部ディクショナリと外部ディクショナリが含まれています。次のように、Linq でそれらにアクセスできます。

 var flatKeyValue = from outer in Data
                               from inner in outer.Value
                               select new
                               {
                                   NewKey = outer.Key,
                                   NewVal1 = inner.Key,
                                   NewVal2 = inner.Value
                               };

これで、単純な foreach ループで最愛のデータにアクセスできるようになりました。

foreach (var item in flatKeyValue)
{
   Console.WriteLine(item.NewKey);  // you can try NewVal1, NewVal2 quite simply here
}
于 2013-07-26T20:58:46.233 に答える