Debugger does not hit breakpoint
breakpoints, c#, debugging, delegates, list
Solution
Enumerable.Where is a lazy operator -- until you call something that goes through the IEnumerable returned by where (ie. calling .ToList() on it), your function won't get called.
Try changing your code to this and see if it gets called:
....
IEnumerable<LOL> filter = list.Where(
delegate(LOL lol) {
return lol.yes();
}
).ToList();
string l = "";
Problem
I found something quite odd(I think!). If I try to put a breakpoint in the yes() method, it will never pause the program when it executes the function. If I try to do the same to any other line of code, it will work just as expected. Is it a bug, or is there something that's escaping me? The filter will return the 2 objects, everything seems to be working as expected except the debugger. ``` 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; } } ```