Doppelte Einträge in Listeview (oder List) löschen - gibs was ähnliches wie std:set oder andere Möglichkeit
-
ich hab ne ListView mit Strings (oder wenn es besser ist eine List) und dort sind doppelte Einträge drinne. gibs da nen sortieralgo der die doppelten Einträge löscht .. bei der std.. gibs ja std::set der das von vornherein ausschliesst.´
Oder sowat wie "unique" der im nachhinein die Liste sortiert sozusagen ...o.ä.oder muss ich per hand die list bzw listview von vorn bis hinten durchsuchen.. hmmm
-
sten schrieb:
ich hab ne ListView mit Strings (oder wenn es besser ist eine List) und dort sind doppelte Einträge drinne. gibs da nen sortieralgo der die doppelten Einträge löscht .. bei der std.. gibs ja std::set der das von vornherein ausschliesst.´
Oder sowat wie "unique" der im nachhinein die Liste sortiert sozusagen ...o.ä.oder muss ich per hand die list bzw listview von vorn bis hinten durchsuchen.. hmmm
also hm ich weiss ja net
jetzt hab ich ne ziemliche blödie- lösung die ich echt fürn ne spaghettilösung halte.[cli]int j=8; // this->label1->Text=uinhalt[9]->Substring(0,5)->Trim(); for (int i=9; i<uinhalt->Length; i++) { if(uinhalt[i]->Substring(0,5)->Trim()!=uinhalt[j]->Substring(0,5)->Trim()) { this->listView1->Items->Add(uinhalt[i]); } j++; }[/cli]
find das nur zeimlich bescheuert , in dem fall gehts, .. weil ich erst von achter zeile anfange zu vergleichen (hier nur erste 5 Zeichen).. und ich das glück hab das es sortiert ist.. naja ok sortieren könnte ich auch noch vorher.. aber gibs echt nichts was das schon automatisch macht s.o.
-
Es gibt eine Erweiterungsmethode Distinct() für IEnumerable<T>.