Essential C# 2.0 by Mark Michaelis