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.