1

我有一个问题,我需要创建二维表,该表将由字符串索引,例如:

table["London","Cambridge"] = 120;

或锯齿状:

table["London"]["Cambridge"] = 120;

如何声明可以处理此问题的 Collection 或数组?我找到了解决方案,但我不确定它是否是最好的。

Dictionary<string, Dictionary<string, int>> test = new Dictionary<string, Dictionary<string, int>>();

但是当我想创建一个新值时,我需要初始化新字典,所以为什么我认为该解决方案不是最正确的:

table.Add("London", new Dictionary<string, int> {{"Cambridge",120}});

那么如何以最好的方式创建由字符串索引的二维数组(也许创建可以处理这个的新类)?

4

1 回答 1

2

我曾经写过一个 MultiKey-dictionary,让我们看看,就在这里

您可以像这样通过两个键获取或设置元素dictionary["key1", "key2"]

编辑:
但我想使用 .NET 4 中的 Tuple 类型,您可以使用 Tuple 作为键,而不是使用嵌套字典。

public class Dictionary<TKey1, TKey2, TValue> : Dictionary<Tuple<TKey1, TKey2>, TValue>
...
于 2010-11-12T16:11:29.987 回答