Конечно, вы не можете удалить элементы из коллекции, которую вы повторяете, используя foreach
. Это просто запрещено и приведет к исключению во время выполнения.
Возможно, вы просто захотите переместить эту логику в linq
запрос:
EnumerableRowCollection<DataRow> results = from myRow in myDataTable.AsEnumerable()
where myRow.Field("RowNo") == 1 && !resultOk(myRow)
select myRow; // note that you're returning myRow, not results, like in your code
// you need to pay attention to code samples you're providing to avoid misunderstanding
Это вернет вам список с элементами, которые вам действительно нужны, без необходимости удалять эти элементы в цикле foreach
.