Liste "Trimmen"


Katzenbauer

Erfahrenes Mitglied
Ich habe eine generische Liste des Typ string aus der ich alle Elemente (Items) löschen möchte, deren String leer ist UND die am Ende stehen.
Also nur, wenn dannach nichts oder nur noch leere strings kommen. Folgendes Codefragment soll das bewerkstelligen aber es verrichtet seinen Dienst nicht richtig. Es lässt immer etliche Elemente am Ende übrig. Trimmt aber auch keine leeren Elemente in der Mitte weg (so soll es auch sein):

Code:
bool trim;
for (int i = 0; i < this.editAnswerList.Count; i++)
{
    trim = true;

    for (int t = i; trim && (t < this.editAnswerList.Count); t++)
    {
        if (this.editAnswerList[t] != String.Empty)
        {
            trim = false;
        }                  
    }

    if (trim)
    {
        this.editAnswerList.RemoveAt(i);
    }
}
 

Norbert Eder

Erfahrenes Mitglied
Lauf doch deine Collection verkehrt durch. D.h. du fängst bei Count-1 an und läufst Richtung 0 durch. Findest du dort Strings, die Empty sind entferne diese, sobald du auf ein Element mit Einträgen stößt, brichst du den Durchlauf einfach ab.
 

Forum-Statistiken

Themen
272.354
Beiträge
1.558.603
Mitglieder
187.824
Neuestes Mitglied
Danke!