CSharp and the .NET Platform 2nd Edition - Troelsen, Andrew (Apress, 2012)