title: DataTable, How to conditionally delete rows
body: <p>I'm engaged in a C# learning process and it is going well so far. I however just now hit my first "say what?" moment.</p>
  
  <p>The DataTable offers random row access to its Rows collection, not only through typical collections behavior, but also through DataTable.Select. However I cannot seem to be able to tie this ability to DataRow.Delete. So far this is what it seems I need to do in order to conditionally delete one or more rows from a table.</p>
  
  <pre><code>int max = someDataTable.Rows.Count - 1;
  for(int i = max; i &gt;= 0; --i)
  {
      if((int)someDataTable.Rows[i].ItemArray[0] == someValue)
      {
          someDataTable.Rows[i].BeginEdit();
          someDataTable.Rows[i].Delete();
      }
      else
          break;
  }
  someDataTable.AcceptChanges();
  </code></pre>
  
  <p>But I'm not happy with this code. Neither I'm convinced. I must be missing something. Am I really forced to hit the Rows collection sequentially if I need to delete one or more rows conditionally?</p>
  
  <p>(don't mind the inverted for. I'm deleting from the end of the datatable. So it's ok)</p>