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.