public void NestedDictIteration(Dictionary<string,object> nestedDict)
{
foreach (string key in nestedDict.Keys)
{
Console.WriteLine(key);
object nextLevel = nestedDict[key];
if(nextLevel == null)
{
continue;
}
NestedDictIteration((Dictionary<string, object>)nextLevel);
}
}
最後のステートメントの再帰呼び出しで無効なキャストエラーが発生し続けます。これは私が見るエラーです: "タイプ 'System.String'のオブジェクトを 'System.Collections.Generic.Dictionary`2 [System.String、System.Object]'とタイプすることができません。"これを解決する最善の方法は何ですか? nextLevelの.ToDictionaryを呼び出すことができませんでした。DFS Traversalオブジェクトからディメンションキャストエラーへ
何を辞書に値として保存していますか?あなたは 'object'値が' Dictionary 'だと仮定しているようですが、実際には' string'です。 –
ディクショナリは、再帰的にトラバースしようとしている逆シリアル化されたJSONを表します。値の型は変更されます。文字列はフィールド名を表し、オブジェクトはトラバースする必要がある値またはネストされたオブジェクトを表します。 – afkjlkdo7635