Я нашел что-то довольно странное (я думаю!). Если я попытаюсь установить точку останова в методе yes (), он никогда не остановит программу при выполнении функции. Если я попытаюсь сделать то же самое с любой другой строкой кода, она будет работать так, как ожидалось. Это ошибка или что-то, что ускользает от меня?
Фильтр вернет 2 объекта, кажется, что все работает, как ожидалось, кроме отладчика.
private void Form1_Load(object sender, EventArgs e) {
List<LOL> list = new List<LOL>();
list.Add(new LOL());
list.Add(new LOL());
IEnumerable<LOL> filter = list.Where(
delegate(LOL lol) {
return lol.yes();
}
);
string l = ""; <------this is hit by the debugger
}
class LOL {
public bool yes() {
bool ret = true; <---------this is NOT hit by the debugger
return ret;
}
}