nachfolgendes Listenelement löschen, wenn gleich dem vorherigen c#

knappenboy

Mitglied
Hallo wie bereits in der Überschrift, möchte ich aus einer Liste Elemente löschen, wenn der nachfolgende gleich dem vorherigen ist. Liste ist Timer.

3.0 , 3.0 , 2.9 , 2.8 , 2.7 , 2.7 , 2.6 , 2.5 , 2.4 , ... , 0.1 , 0.1 , 0

foreach (int jj in Timer)
{
if (Timer[jj] == Timer[jj + 1])
{
Timer.RemoveAt(jj);
}
}

da passiert nichts -.-, bitte um Hilfe
 

Spyke

Premium-User
Beim foreach bekommst du direkt den Listentyp, das Objekt in der Liste.
Sprich jj ist ein Wert in deiner Liste, du versuchst diesen aber als Index zu verwenden.

Eigentlich hast du glück das du keine IndexOutOfRangeException bekommst ;)

Das nächste Problem wäre dann,
wenn du mit foreach arbeitest, darfst du die Liste die du durch läufst nicht manipulieren.
(Grad keine Ahnung welche Exception da kommt).

Kurz gesagt du musst mit for deine Timer Liste durchlaufen.
Code:
for(int i = 0; i < Timer.Count; i++)
 

Neue Beiträge