2010-08-26 47 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

相關問題