Finden Sie ein Element in einem List<T>, indem Sie einen Beispiel-object-Instanz

Warum gibt es eine List<T>.Contains(T) - Methode, aber keine List<T>.Find(T) Methode? Nur die Finds, support-Prädikate unterstützt werden. Wenn wir eine vorhandene Instanz von T aufgefüllt, mit der der Wert einer Eigenschaft für seine ID (aber fehlende andere Eigenschaften) warum können wir nicht suchen, durch die Bereitstellung dieser Objekt-Instanz, um die Suche in List, vor allem, wenn wir umgesetzt haben, benutzerdefinierte IEquatable<T> für T und möchte das nutzen, was da ist. Aber so wie es ist, wir können nicht, wir wiederholen alles, was wir getan haben in IEquatable Umsetzung in unserem Find(predicate) nennen.

Was ist die Verwendung einer Find(T) Methode, wenn Sie bereits haben, die Instanz? Das wäre äquivalent zu der Contains(T) Methode, weil die einzige Sache, die Find(T) wird Ihnen sagen, ist, ob diese Liste enthält die Instanz.
Ich kann mir vorstellen, weil er versucht, um einen Verweis auf das Objekt in der Liste... nur weil er ein Objekt hat, dass "gleich" die anderen, vor allem wenn man bedenkt, dass er IEquatable implementiert und es ist nicht nur ein Referenz-Vergleich, das bedeutet nicht, dass er eine Referenz auf das Objekt, das er will.
genau wie antisanity bringt es

InformationsquelleAutor mare | 2011-08-15

Schreibe einen Kommentar