title: Foreach while adding items to the looping collection
body: <p>This is the situation:</p>
  
  <p>I'm browsing through some code and I wondered if the following statement takes a reference of the selected collection or a copy with which it replaces the original object when the foreach loop finishes. If the first, will it take the new found pages and join them in the loop?</p>
  
  <pre><code>foreach(Page page in Pages)
  {
      page.AddRange(RetrieveSubPages(page.Id));
  }
  </code></pre>
  
  <p>Edit: I'm sorry, I made a typo.</p>
  
  <p>It should be this:</p>
  
  <pre><code>foreach(Page page in pages)
  {
      pages.AddRange(RetrieveSubPages(page.Id));
  }
  </code></pre>
  
  <p>What i tried to say is that if i add some objects to the enumerating collection, will it join those objects in the foreach?</p>