如何从C#代码中的嵌套字典中获取数据

时间:2009-11-26 09:06:45

标签: c# dictionary fetch

  

可能重复:
  how to fetch data from nested Dictionary in c#

我需要从嵌套字典 IN C#中获取数据。我的词典是这样的:

static Dictionary<string, Dictionary<ulong, string>> allOffset = 
  new Dictionary<string, Dictionary<ulong, string>>();

我需要获取完整字典的所有键/值,如下所示:

string->>ulong, string

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以使用LINQ来执行此操作:

var flatKeysAndValues =
    from outer in allOffset    // Iterates over the outer dictionary
    from inner in outer.Value  // Iterates over each inner dictionary
    select new
               {
                   NewKey = outer.Key + "->>" + inner.Key,
                   NewValue = inner.Value
               };

使用示例:

foreach (var flatKeysAndValue in flatKeysAndValues)
{
    Console.WriteLine("NewKey: {0} | NewValue: {1}", 
                             flatKeysAndValue.NewKey, flatKeysAndValue.NewValue);
}

答案 1 :(得分:1)

我不确定您是想将数据写入控制台,还是想将其转换为新的对象结构。

但是如果您只想打印,请尝试一下:

foreach( var pair in allOffset )
{
  foreach( var innerPair in pair.Value )
  {
    Console.WriteLine("{0}->>{1},{2}", pair.Key, innerPair.Key, innerPair.Value);
  }
}