I've written a tutorial on this topic with plenty of examples and a step-by-step explanation of what happens in a "for" loop as it executes. I also talk about some alternatives to looping in general (like LINQ). The article is here:
C# for
C# for
