我发现一些很奇怪的东西(我想!)。如果我尝试在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;
}
}
请记住,像Where这样的查询方法的结果是_an代表query_的对象。这不是查询的_results_。这是查询_本身。直到你接着说“嘿问,你的结果是什么?”该查询实际执行。 – 2009-06-23 04:53:30