Loving the Visual Studio 2008 compiler

I have been finding lambda and extension methods really helpful in my game port.

Blobs of C styled single linked list code, when changed to generic lists boil down to one line.

like this:

Item item = player.itemsPtr;  
while (item != null)  
{  
  Item next_item = item.next;  

  if (item_type == item.type)  
  {  
    lose_item(item, player); // just removes from linked list.  
  }  
  item = next_item;  
}  

to this:

player.items.RemoveAll(item => item.type == item_type);

much nicer.