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);
}
안녕, 좋은 아이디어는 기본 타입과 클래스 범위 수정 (정적 등)을 공개 이럴을 아주 이상하고 복잡한 예제에서 원래의 질문에 "up front"을 사용하고 있습니다. 아래의 Darin의 대답에 대한 의견은 마침내 'mainDict is :'static dictionary '라고 말합니다. 우리는 다양한 하위 키, 하위 사전 또는 sub2Value 유형의 유형에 대해 알지 못합니다. sub2Dict가 sub1Dict 등에서 하위 클래스로 분류되는지는 알 수 없습니다. "심령"능력이 희미합니다. –
BillW
좋습니다. 나는 또한 나의 본래 포스트가 명확하지 않다는 것을 동의한다. 너희들은 이미 나를 많이 도왔다. 나는 당신의 답장에서 유익을 얻었습니다. - 감사. –