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.