2012-01-03 29 views
-3

我打算创建一个表示html表的类,问题是它必须能够包含3个以上的维度,一个维度将是当然的宽度,剩下的将会是像这样的长度:我盘算着如何在我的课代表这个C#基于多级字典的类

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

etc. 

现在,我的想法是使用多级字典,即一个可被索引这样的:myDict[fooKey][barKey][...],是一个好主意?可能吗?怎么样?

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

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

+2

当你说*多级字典*你的意思是像'字典<键,字典<其他键,值>'?这个问题还不清楚。 – Yuck 2012-01-03 14:04:15

+0

深度是否有限制? – BlueMonkMN 2012-01-03 14:11:04

+0

看起来您正在尝试在C++中查找与STL'multimap'类相当的C#。 [这里](http://www.dotnetperls.com/multimap)是一个从dotnetperils体面的实施。 – 2012-01-03 14:25:04

回答

0

可以使用带式密钥词典的词典......

这样你就可以说:

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

,并用它提到的你..

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