Problem jest tu taki, że operujesz na kolekcji którą modyfikujesz.
Krótki przykład: załóżmy, że 2, 3 i 4 wiersz są takie same względem twojego kryterium.
Zmienna j wskazuje na 3 wiersz i warunek wymuszający usunięcie wiersza jest spełniony.
Po usunięciu wiersza trzeciego wiersz czwarty staje się wierszem trzecim, ale zmienna j jest inkrementowana dla kolejnej iteracji i stary wiersz 4 jest pominięty.
Możliwe rozwiązania:
Zmniejszenie zmiennej j w momencie spełnienia warunku,
Operowanie na kolekcji od ostatniego elementu. Usunięcie wiersza nie wpłynie na wiersze o niższym indeksie jeszcze nie sprawdzane.
Stworzenie tymczasowej kolekcji do przekopiowania danych - jedna kolekcja read only.
a którą metodę wykorzystać, by jak najmniej zmieniać w kodzie?
Jak usunąć powtarzające się linie w DataGridView (prawym)? Chcę, żeby została jedna wartość bez powtórzeń. Pomóżcie, bo już próbowałem na różne sposoby i nic mi nie wychodzi
Może się zastanów dlaczego one tam się znalazły… niezłym pomysłem jest usuwanie niepotrzebnych danych przed wysłaniem ich do kontrolki tak by odseparować prezentację od logiki biznesowej