C# List<> bestimmte Elemente nach vorne bringen

Murphy9904

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
344
Hi,
ich hab ne liste mit Zeug drinnen

nun will ich dass bestimmte Elemente an erster stelle sind

list.MovetoFront.where (a => a.Price < 10)

dass alle wo der Preis unter 10 ist als erstes kommen

restliche sortierung ist wurscht

ich hab das mit 2x AddRange gelöst aber das ist soviel Kopierter Code
geht das auch anders?

Danke schonmal

Murphy
 
Kenn mich jetzt mit c# ned aus, nur mit c.
Aber nehm doch einfach nen Bubblesort/Quicksort oder einen anderen Sortieralgorithmen.
klick mich
 
Also das klingt sehr wirr. Ich glaube dort ist was ganz falsch an deiner Architektur.

Zum Problem: Benutzte doch einfach .Insert von der Liste.
 
hmm das beispiel is glaub nicht richtig korrekt
ich kann nur mit einem Where herrausfinden ob sie vorne stehen sollen oder nicht

es sollen nur alle vorne stehen bei denen die id in einer andren liste auch vorkommt
 
Schreib dir ne eigene Klasse, leite diese von List ab und schreibe deine MoveToFront Funktion einfach selber, dann musste nicht ultra umständlich mit irgendwelchen sachen hantieren.
 
für sowas habe ich keine Zeit :D
 
List<item> billig = list.Select(a => a.Price < 10).ToList();
billig.addrange( list.Select(a => a.Price > 10).ToList());

so würde es gehen...
 
Die Lösung von Jigga86 ist zu bevorzugen, man will ja die Liste nicht teilen, sondern nach bestimmten Kriterien sortieren.
 

Ähnliche Themen

Zurück
Oben