Ich habe seit Tagen so etwas gesucht. Ich versuche, alle Elemente aus einer größeren Liste A gemäß einer Liste B zu entfernen.
Angenommen, ich habe eine allgemeine Liste mit 100 Elementen mit unterschiedlichen IDS und ich bekomme eine andere Liste mit spezifischen Elementen mit nur 10 Datensätzen. Ich muss alle Elemente aus der ersten Liste entfernen, die nicht in der zweiten Liste vorhanden sind.
Ich werde versuchen, den Code zu zeigen, von dem ich eigentlich nicht weiß, wie er funktioniert.
%Vor% Ich weiß nicht warum, aber es funktioniert nicht. Wenn ich dieses Beispiel mit einem List<int>
-Typ versuche, funktioniert es gut, aber ich würde das gerne mit meinem Objekt machen. Dieses Objekt hat eine ID erhalten, aber ich weiß nicht, wie ich diese ID im LINQ-Satz verwenden soll.
Laut der Dokumentation auf MSDN ( Ссылка ) enthält contains den standardmäßigen Equality-Vergleich Bestimmen Sie die Gleichheit, damit Sie die Equals-Methode von Equatable für Ihre Obj-Klasse verwenden können, damit sie funktioniert. HiperiX erwähnt den Ref-Vergleich oben.
So fügen Sie die IEquateable-Schnittstelle hinzu: Ссылка