Was ist der eleganteste Weg, einen Index für doppelte Einträge in der C # -Liste zu finden?

8

Ich habe eine List<string> , die Duplikate enthält und ich muss die Indizes von jedem finden.

Was ist der eleganteste und effizienteste Weg, der sich durch alle Elemente schlängelt? Ich bin auf .NET 4.0, so dass LINQ eine Option ist. Ich habe jede Menge Suchen durchgeführt und etwas gefunden.

Beispieldaten:

%Vor%

Ich brauche die Indizes von "home".

    
Kevin Jensen 27.04.2010, 04:53
quelle

4 Antworten

19

Sie können ein Objekt aus jedem Element erstellen, das seinen Index enthält, dann den Wert gruppieren und die Gruppen herausfiltern, die mehr als ein Objekt enthalten. Jetzt haben Sie eine Gruppierungsliste mit Objekten, die den Text und ihren ursprünglichen Index enthalten:

%Vor%     
Guffa 27.04.2010, 04:59
quelle
3
%Vor%     
Kirill Osenkov 27.04.2010 05:03
quelle
0

Wie wäre es mit so etwas?

%Vor%     
Adriaan Stander 27.04.2010 05:17
quelle
0

Ich selbst musste die Duplikate aus der Liste der Strings finden und entfernen. Ich habe zuerst die Indizes von doppelten Elementen durchsucht und dann die Liste funktional mit LINQ gefiltert, ohne die ursprüngliche Liste zu ändern:

%Vor%     
Faisal Hasnain 30.04.2015 04:09
quelle

Tags und Links