C# Primer by Stanley B. Lippman