DataTable, Jak warunkowo usuwać wiersze

Jestem zaangażowany w proces uczenia się w C # i jak na razie idzie dobrze. Jednak właśnie teraz uderzyłem w moje pierwsze „powiedz co?” za chwilę.

DataTable oferuje losowy dostęp do wiersza do swojej kolekcji wierszy, nie tylko poprzez typowe zachowanie kolekcji, ale także poprzez DataTable.Select. Nie mogę jednak powiązać tej zdolności z DataRow.Delete. Do tej pory wydaje mi się, że muszę to zrobić, aby warunkowo usunąć jeden lub więcej wierszy z tabeli.

int max = someDataTable.Rows.Count - 1;
for(int i = max; i >= 0; --i)
{
    if((int)someDataTable.Rows[i].ItemArray[0] == someValue)
    {
        someDataTable.Rows[i].BeginEdit();
        someDataTable.Rows[i].Delete();
    }
    else
        break;
}
someDataTable.AcceptChanges();

Ale nie jestem zadowolony z tego kodu. Ani nie jestem przekonany. Tęsknię za czymś. Czy naprawdę muszę sekwencyjnie trafiać do kolekcji Rows, jeśli muszę usunąć warunkowo jeden lub więcej wierszy?

(nie przejmuj się odwróconym dla. Usuwam z końca datatable. Więc jest OK)

questionAnswers(4)

yourAnswerToTheQuestion