我该如何存储这些数据?

时间:2010-08-26 20:36:29

标签: c#

我有一些超过三个级别的数据,如:

Identifier, Key, Value

我想首先查找标识符。让我们说它是1.然后我会查找密钥,让我们说2.最后,密钥会给我价值。

我想我可能需要多值字典或一些二维/三维数组。所有数据都是固定的,阵列只需要6个元素。

所以,我想在代码中可以像这样访问:

SomeInfo[identifier, key]会返回值。

请询问更多信息。

1 个答案:

答案 0 :(得分:5)

使用Tuple类,并将Tuple作为你的密钥。这样,您的密钥可以由多个值组成:

SomeInfo[new Tuple<string, string>(identifier, key)];

详细说明,Tuple类提供了一个适当的GetHashCode()和Equals()实现,它们尊重你传入的值。如果“identifier”或“key”不是字符串,你可以改变你传递的类型参数进去。

修改:这是一个有效的例子:

var dictionary = new Dictionary<Tuple<string, string>, string>();
dictionary[new Tuple<string, string>("myIdentifier", "myKey")] = "myValue";