Ich habe ein Wörterbuch, das von einer Liste eingegeben wird:C# Liste als Wörterbuch Schlüssel
private Dictionary<List<custom_obj>, string> Lookup;
Ich versuche ContainsKey zu verwenden, aber es scheint nicht zu arbeiten, und ich habe keine Ahnung, warum . Hier ist die Debug-Informationen von meinem Visual Studio Direkt-Fenster:
?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
In meinem gesunden Menschenverstand, dass letzte ContainsKey wahr sein sollte. Hoffentlich habe ich genug Informationen hier ... irgendwelche Ideen?
Danke!
GetHashCode fehlt eine Rückgabe. –
Kurzanleitung: Wie die Antwort darauf hinweist, sollten Sie diesen Comparer nicht verwenden. Die equals-Methode ist für die Reihenfolge empfindlich, die Hash-Methode dagegen nicht. –