【发布时间】:2016-05-23 09:34:03
【问题描述】:
我正在尝试从嵌套字典中打印结果
var variations_hash = new Dictionary<string, Dictionary<string, List<string>>>();
但它会引发一些随机错误
using System;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
class Program
{
static void Main()
{
var variations_hash = new Dictionary<string, Dictionary<string, List<string>>>();
var variations = new Dictionary<string, List<string>>();
variations["available"] = new List<string> { "hi" };
var stores = new[] { "s", "m", "xl", "xxl", "xxxl", "v" };
string color_trans = "blue";
foreach (var sto in stores)
{
variations_hash[sto] = variations;
}
foreach(var job in variations_hash.Key())
{
foreach (var innerDict in variations_hash[key].Select(k => k.Value))
{
Console.Write(innerDict);
}
}
Console.ReadLine();
}
}
错误:
错误 CS1061 'Dictionary>>' 不包含 'Key' 的定义,并且找不到接受“Dictionary>>”类型的第一个参数的扩展方法 'Key'(您是否缺少 using 指令或程序集参考?)
ConsoleApplication1 c:\users\administrator\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 29错误 CS0103 当前上下文中不存在名称'key' ConsoleApplication1 c:\users\administrator\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 31
警告 CS0219 变量“color_trans”已分配,但其值从未使用过
ConsoleApplication1 c:\users\administrator\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 20
如何循环打印嵌套字典的所有内容?
【问题讨论】:
-
使用
.Keys而不是variations_hash.Key() -
你想怎么打印?预期的输出是什么,它还应该包含键吗?
-
这些根本不是“随机错误”。这些错误消息非常具体,对我来说似乎很清楚。您对它们有什么不了解,您期望
Key()方法做什么?您希望在variations_hash[key]中引用哪个变量? -
大声笑@JonSkeet。你有理解随机事物的超能力,也许我们应该成为朋友;)
标签: c# dictionary