我有一個由列表鍵的字典:C#列表作爲字典鍵
private Dictionary<List<custom_obj>, string> Lookup;
我試圖使用的containsKey,但它似乎並沒有工作,我不知道爲什麼。 這裏是我的Visual Studio即時窗口調試信息:
?Lookup.Keys.ElementAt(7)[0]
{custom_obj}
Direction: Down
SID: 2540
?Lookup.Keys.ElementAt(7)[1]
{custom_obj}
Direction: Down
SID: 2550
searchObject[0]
{custom_obj}
Direction: Down
SID: 2540
searchObject[1]
{custom_obj}
Direction: Down
SID: 2550
?Lookup.ContainsKey(searchObject)
false
在我的常識,那最後的containsKey應該是真實的。希望我在這裏包含了足夠的信息......任何想法?
謝謝!
GetHashCode缺少返回。 – 2014-12-16 18:45:46
快速提示:正如答案所暗示的,您不應該使用此比較器。 equals方法對順序很敏感,但是散列方法不是。 – 2016-06-16 19:35:25