【问题标题】:Error in Reading nested dictionaries C读取嵌套字典时出错 C
【发布时间】:2016-05-06 20:31:47
【问题描述】:

我想阅读 c# 中的嵌套字典。 声明如下:

Dictionary<string, double> dict2 = 
    new Dictionary<string, double>();
Dictionary<string, Dictionary<string, double>> dict1 = 
    new Dictionary<string,  Dictionary<string, double>>();
Dictionary<string, Dictionary<string, Dictionary<string, double>>> globalDict = 
    new Dictionary<string, Dictionary<string, Dictionary<string, double>>>();

我使用下面的代码来阅读它:

foreach (var key3 in globalDict.Keys)
{
    foreach (var key2 in globalDict[key3].Keys)
    {
        foreach (var key1 in globalDict[key2].Keys)
        {
            Console.WriteLine(globalDict[key3][key2][key1]);
        }
    }
}

但它给了我以下错误:

'System.Collections.Generic.KeyNotFoundException'

在这一行:

foreach (var key1 in globalDict [key2].Keys)

对我使用的方法有什么建议吗?

【问题讨论】:

    标签: c# dictionary nested


    【解决方案1】:

    你忘了先访问globalDict[key3],因为你已经是Dictionary deep:

    foreach (var key3 in globalDict.Keys)
    {
         foreach (var key2 in globalDict[key3].Keys)
         {
             Console.WriteLine("Jours {0}", key2);
    
             foreach (var key1 in globalDict[key3][key2].Keys) // here
             {
                  Console.WriteLine(globalDict[key3][key2][key1]);
             }
         }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-03-08
      • 2015-12-31
      • 2021-02-05
      • 2014-06-02
      • 2021-05-10
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多