2009-11-26 88 views
-2

可能重複:
how to fetch data from nested Dictionary in c#如何在C#代碼獲取從嵌套的字典數據

我需要在C#從嵌套字典獲取數據。我的解釋是這樣的:

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

我需要獲取所有鍵/全字典的值,表示像這樣:提前

string->>ulong, string 

感謝。

+0

「 - >>」是什麼意思?你的問題不是很清楚 - 請給出一個具體數據的例子,只是缺少你想要的邏輯,它可能會很容易。如果你說你正在使用哪個版本的.NET,它也會有所幫助,所以我們知道是否使用LINQ :) – 2009-11-26 09:10:11

+2

如果你沒有從最初的問題得到你想要的答案,請嘗試澄清你的需求,而不是再次提問:http://stackoverflow.com/questions/1801905/how-to-fetch-data-from-nested-dictionary-in-c – 2009-11-26 09:19:36

回答

1

我不確定您是要將數據寫入控制檯還是想將其轉換爲新的對象結構。

但你只是要打印的情況下,試試這個:

foreach(var pair in allOffset) 
{ 
    foreach(var innerPair in pair.Value) 
    { 
    Console.WriteLine("{0}->>{1},{2}", pair.Key, innerPair.Key, innerPair.Value); 
    } 
} 
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); 
}