DataTable, Cómo eliminar condicionalmente filas
Estoy involucrado en un proceso de aprendizaje de C # y va bien hasta ahora. Sin embargo, acabo de golpear mi primer "¿decir qué?" momento.
El DataTable ofrece acceso aleatorio a su colección Rows, no solo a través del comportamiento típico de las colecciones, sino también a través de DataTable.Select. Sin embargo, parece que no puedo vincular esta capacidad con DataRow.Delete. Hasta ahora, esto es lo que parece que debo hacer para eliminar condicionalmente una o más filas de una tabla.
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();
Pero no estoy contento con este código. Tampoco estoy convencido. Debo estar perdiendo algo. ¿Realmente me veo obligado a golpear la colección Rows secuencialmente si necesito eliminar una o más filas condicionalmente?
(No me importa lo invertido para. Estoy eliminando desde el final del datatable. Así que está bien)