Я понимаю, почему это не разрешено :
foreach (Thing t in myCollection) {
if (shouldDelete(t) {
myCollection.Delete(t);
}
}
, но как насчет этого?
foreach (Thing t in myCollection.Where(o=>shouldDelete(o)) {
myCollection.Delete(t);
}
Я не понимаю, почему это не работает. Очевидно, что метод «Where()» не возвращает исходную коллекцию, поэтому я не перечисляю исходную коллекцию, когда пытаюсь что-то удалить из нее.