Я занимаюсь учебным процессом на С#, и до сих пор все хорошо. Я, однако, сейчас ударил свой первый "скажи что?" момент.
DataTable предлагает случайный доступ к рядам для коллекции Rows, а не только через типичное поведение коллекций, но также и через DataTable.Select. Однако я не могу привязать эту способность к DataRow.Delete. Пока что мне кажется, что мне нужно сделать, чтобы условно удалить одну или несколько строк из таблицы.
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();
Но я не доволен этим кодом. Я тоже не уверен. Я должен что-то упустить. Действительно ли я вынужден последовательно ударять по рядам, если мне нужно удалить одну или несколько строк условно?
(не обращайте внимания на инвертированное для. Я удаляю с конца datatable. Так что это нормально)