我發現一些很奇怪的東西(我想!)。如果我嘗試在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