I get the following error in Visual Studio 2008:
Error 1 A local variable named \'i\' cannot be declared in this scope because it would give a different meaning
Yea. Syntactically: The new scope is inside the block defined by the curly strings. Functionally: There are cases in which you may want to check the final value of the loop variable (for example, if you break).