我有一些超过三个级别的数据,如:
Identifier, Key, Value
我想首先查找标识符。让我们说它是1.然后我会查找密钥,让我们说2.最后,密钥会给我价值。
我想我可能需要多值字典或一些二维/三维数组。所有数据都是固定的,阵列只需要6个元素。
所以,我想在代码中可以像这样访问:
SomeInfo[identifier, key]
会返回值。
请询问更多信息。
答案 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";