title: Remove Item from generic list
body: <p>I am trying to remove an item from a generic list using RemoveAt.  The odd thing is while using the debugger I can see my item has been removed and yet when passing it to a view the item removed is showing up but the last item has been removed.</p>
  
  <p>Code looks like this</p>
  
  <pre><code>public ActionResult(MyModel model, int[] removeitems)
  {
   //model.ListItems has 10 items
   //Incoming removeitems has 0 as the first item to remove as a test
  foreach(int item in removeitems)
  {
   model.ListItems.RemoveAt(item);
  }
   //by this time debugger shows that item 0 has in fact been removed and no longer exists in the list
   return View(model);
   //after the view is rendered it shows item 0 is still there but 10 has been removed
  }
  </code></pre>
  
  <p>I understand that I can do it another way by copying the items into another list etc, but all tests show the above code does remove the first item and yet the view does not reflect this.</p>
  
  <p>Any ideas?</p>