Possible Duplicate:
How does foreach work when looping through function results?
Title has the heart of the question in it. Here's an example scenario to flesh it out some more.
foreach(something thing in GetSomethings())
{ dosomething }
Lets say GetSomethings has side effects. Will GetSomethings be executed once or will it get executed for each time the loop iterates?