JetBrains Resharper encourages developers to avoid nested loops. I believe this is a good practice to follow. May be not in 100% cases but very often. Nesting loops can produce virtually unreadable code. And this brings another issue: how much code & functionality should be stored in a method.