StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<mainKey, SubDict> pair1 in mainDict)
foreach (KeyValuePair<subKey, sub1Dict> pair2 in pair1.Value)
foreach (KeyValuePair<sub1Key, sub2Dict> pair3 in pair2.Value)
foreach (KeyValuePair<sub2Key, sub2Value> pair4 in pair3.Value)
{
sb.AppendFormat("{0}/{1}/{2}/{3}, {4}",
pair1.Key, pair2.Key, pair3.Key, pair4.Key, pair4.Value);
}
UPDATE:
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, object> pair1 in mainDict)
foreach (KeyValuePair<string, object> pair2 in (Dictionary<string, object>)pair1.Value)
foreach (KeyValuePair<string, object> pair3 in (Dictionary<string, object>)pair2.Value)
foreach (KeyValuePair<string, object> pair4 in (Dictionary<string, object>)pair3.Value)
{
sb.AppendFormat("{0}/{1}/{2}/{3}, {4}",
pair1.Key, pair2.Key, pair3.Key, pair4.Key, pair4.Value);
}
嗨,恕我直言好主意,揭示基本类型和类的范围内调节剂(静态,等等),你在一个非常奇怪而复杂的例子中,在你的原始问题中使用“前面”:只在你的第二个问题中。你最后告诉我们'mainDict是:“静态字典<字符串,对象>。我们对各种子键,子字典或sub2Value类型的类型一无所知:我们不知道sub2Dict是否从sub1Dict等进行了分类。我的“心理”能力很弱:) – BillW 2010-01-01 12:40:16
好的。我也同意我原来的帖子不清楚。你们已经帮了我很多。我从你的回复中受益。 - 谢谢。 – 2010-01-01 15:00:12