【问题标题】:C# Multi-level dictionary based classC# 基于多级字典的类
【发布时间】:2012-01-03 14:02:31
【问题描述】:

我打算创建一个代表html表格的类,问题是它必须能够包含3+维度,一个维度当然是宽度,其余的将是这样的长度:

foo1:bar1
foo1:bar2
foo2:bar1
foo2:bar2

etc. 

现在我正在考虑如何在课堂上表示这一点,我的想法是使用多级字典,即可以像这样索引的字典:myDict[fooKey][barKey][...],这是个好主意吗?是否可以?如何?

我可以让该类的用户给它任何 Dictionary 以及一个 int 深度,然后在内部使用该类时转换为字典吗?

编辑:好像我有点不清楚,显然有一个实际的深度限制,但我更愿意将它编码为任何深度,深度应该由类的用户给出。

【问题讨论】:

  • 当您说多级字典时,您的意思是像Dictionary<Key, Dictionary<OtherKey, Value>> 这样的东西吗?这个问题不清楚。
  • 深度有限制吗?
  • 您似乎正试图在 C++ 中找到与 STL multimap 类等效的 C#。 Here 是来自 dotnetperils 的一个不错的实现。

标签: c# dictionary multi-level


【解决方案1】:

您可以使用具有 Key Dictionary 类型的 Dictionary...

所以你可以说:

Dictionary<string, Dictionary < string, string>> x;

并按照你提到的那样使用它..

x["asdf"]["asdf"] = "asdf";

【讨论】:

    猜你喜欢
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多