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