你可以使用一個Dictionary<TKey, TValue>
:
var items = new Dictionary<int, string>();
items.Add(1423, "General");
...
var valueOf1423 = items[1423];
var keyOfGeneral = items.FirstOrDefault(x => x.Value == "General").Key;
上面的例子會拋出一個異常,如果有一個與價值「常規」沒有項目。爲了防止出現這種情況,您可以將Dictionary包裝在自定義類中,並檢查條目是否存在並返回所需的任何內容。
請注意,該值不是唯一的,Dictonary允許您使用不同的鍵存儲相同的值。
包裝類可能是這個樣子:
public class Category {
private Dictionary<int, string> items = new Dictionary<int,, string>();
public void Add(int id, string description) {
if (GetId(description <> -1)) {
// Entry with description already exists.
// Handle accordingly to enforce uniqueness if required.
} else {
items.Add(id, description);
}
}
public string GetDescription(int id) {
return items[id];
}
public int GetId(string description) {
var entry = items.FirstOrDefault(x => x.Value == description);
if (entry == null)
return -1;
else
return entry.Key;
}
}
什麼用字典的錯誤? – DGibbs 2013-05-01 07:49:00
@DGibbs在C#中可用嗎? – CJ7 2013-05-01 07:49:53
[絕對](http://msdn.microsoft.com/en-us/library/xfhwa508.aspx) – DGibbs 2013-05-01 07:52:42