Erhalte nicht eindeutige Elemente von einem IEnumerable

8

Ich habe eine Klasse namens Item. Item hat eine Bezeichnereigenschaft namens ItemCode, die eine Zeichenfolge ist. Ich möchte eine Liste aller nicht eindeutigen Elemente in einer Liste von Elementen erhalten.

Beispiel:

%Vor%

Ich möchte eine Liste mit den beiden letzten Einträgen

Wenn ich

verwende %Vor%

Ich bekomme die Liste der verschiedenen Gegenstände, die großartig ist, aber ich möchte fast das Gegenteil davon haben. Ich könnte die distinkte Liste von der ursprünglichen Liste subtrahieren, aber das würde nicht ALL Wiederholungen, nur eine Instanz von jedem enthalten.

Ich habe gespielt und kann keine elegante Lösung finden. Alle Hinweise oder Hilfe würden sehr geschätzt werden. Danke!

Ich habe 3,5, also ist LINQ verfügbar

    
RichK 24.01.2010, 14:46
quelle

4 Antworten

11

Mein Take:

%Vor%     
magnus 24.01.2010, 15:25
quelle
11

als eine Erweiterungsmethode:

%Vor%     
increddibelly 12.04.2013 10:22
quelle
2

Vielleicht möchten Sie es mit Gruppe für Operator versuchen. Die Idee wäre, sie nach dem ItemCode zu gruppieren und die Gruppen mit mehr als einem Mitglied zu nehmen, etwa wie folgt:

%Vor%     
Tomas Vana 24.01.2010 14:50
quelle
0

Ich würde vorschlagen, eine benutzerdefinierte Erweiterungsmethode zu schreiben, etwa so:

%Vor%

Sie müssen auch die Equals () - Methode für Ihre Item-Klasse überschreiben, damit die Items durch ihren Code korrekt verglichen werden.

    
Chriso 24.01.2010 16:43
quelle

Tags und Links