Есть ли способ вырваться из метода расширения foreach? Ключевое слово "break" не распознает метод расширения как допустимую область для прерывания.
//Doesn't compile
Enumerable.Range(0, 10).ToList().ForEach(i => { System.Windows.MessageBox.Show(i.ToString()); if (i > 2)break; });
Изменить: удалить "linq" из вопроса
Обратите внимание, что код - это просто пример, показывающий, что break не работает в методе расширения... действительно, я хочу, чтобы пользователь мог прервать обработку списка. В потоке пользовательского интерфейса есть прерывная переменная, а для цикл просто ломается, когда пользователь нажимает кнопку отмены. Прямо сейчас, у меня нормальный цикл, но я хотел посмотреть, можно ли сделать это с помощью метода расширения.