C# in Easy Steps by Tim Anderson & Alan Kelly