嵌套Dictionray <t,v>到嵌套ConcurrentDictionary <t,v> </t,v> </t,v>

时间:2014-02-18 21:57:04

标签: c# .net generics

我正在寻找最佳实践:

Dictionary<string,Dictionary<string,Dicionary<string,Dictionary<string,string>>>>

要:

ConcurrentDictionary<string,ConcurrentDictionary<string,ConcurrentDictionary<string,string>>>>

当嵌套水平可能不同时。我试图使用泛型,但无法超越第一级嵌套。

2 个答案:

答案 0 :(得分:2)

您似乎需要树数据结构。将字典包装在一个类中:

class MyNode {
 Dictionary<string, MyNode> children = ...;
}

现在你可以任意深入了解。避免了递归泛型。

答案 1 :(得分:1)

您可能需要一个自定义数据结构来保存此层次结构。你有没有想过用树?

您可以尝试使用元组组合多个级别的键。例如

ConcurrentDictionary<Tuple<string,string>, ConcurrentDictionary<string, string>>

ConcurrentDictionary<Tuple<string,string,string>, string>