通过字符串(对象)索引的二维表
我有一个问题,我需要创建二维表,该表将通过字符串索引,例如:
table["London","Cambridge"] = 120;
或锯齿状:
table["London"]["Cambridge"] = 120;
如何声明可以处理此问题的集合或数组? 我找到了解决方案,但我不确定它是最好的。
Dictionary<string, Dictionary<string, int>> test = new Dictionary<string, Dictionary<string, int>>();
但是当我想创建一个新值时,我需要初始化新字典,那么为什么我认为解决方案不是最正确的:
table.Add("London", new Dictionary<string, int> {{"Cambridge",120}});
那么如何以最好的方式创建由字符串索引的二维数组(也许创建可以处理这个问题的新类)?
I've got a problem i need to create 2 dimensional table which will be indexed by string for example:
table["London","Cambridge"] = 120;
or jagged:
table["London"]["Cambridge"] = 120;
How to declare Collection or array that can handle this?
I found solution but im not sure it is the best.
Dictionary<string, Dictionary<string, int>> test = new Dictionary<string, Dictionary<string, int>>();
But when i wanna create a new value i need to initialize new dictionary, so why i thing that solution is not the rightest:
table.Add("London", new Dictionary<string, int> {{"Cambridge",120}});
So how in the best way create 2 dimensional array indexed by string (mayby create new class that can handle this)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我曾经写过一个多键字典,让我们看看这里是。
您可以通过两个键获取或设置元素,例如字典[“key1”,“key2”]。
编辑:
但我想使用 .NET 4 中的 Tuple 类型,您可以使用 Tuple 作为键,而不是使用嵌套字典。
I wrote a MultiKey-dictionary once, lets see, here it is.
You can get or set an element by two keys like this
dictionary["key1", "key2"]
.Edit:
But I suppose with the Tuple type in .NET 4 you can use a Tuple as key instead of using nested dictionaries.