Head First C#
A Learner's Guide to Real-World Programming with Visual C# and .NET