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)

Respuestas a la pregunta(4)

Su respuesta a la pregunta