2010-08-26 77 views
0

我有一些数据,越过三个层次,就像这样:我将如何存储这些数据?

Identifier, Key, Value

我想首先查找标识符。假设它是1.然后我会查找关键字,让我们说2。最后,关键会给我的价值。

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

所以,我想在代码的东西,可以这样来访问:

SomeInfo[identifier, key]这将返回值。

请询问更多信息。

回答

5

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

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

为了详细说明,元组类提供了尊重的价值观你传递的GetHashCode()和equals()方法的正确实现,并且如果“标识符”或。 “key”不是字符串,你可以改变你传递给它的类型参数。

编辑:这里有一个工作示例:

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

你是什么让我的元组的关键是什么意思? SomeInfo中有哪些类? – BText 2010-08-26 20:39:12

+0

请注意'Tuple'类型在.NET 4.0中是新的。 – 2010-08-26 20:42:22

+0

@达斯汀 - 谢谢。尽管我被允许使用.NET 4,这是好事。 – BText 2010-08-26 20:43:59

相关问题