Get Sharp and Stay Sharp: C# Books

Being a developer isn’t easy. Learning new languages isn’t easy. Mastering your language of choice isn’t easy. Thankfully, for all these endeavors, there is help available. If you’re looking to start or beef up your library of C# books, here are a few you won’t want to miss.

C# 5.0 in a Nutshell: The Definitive Reference

While the word “definitive” gets thrown around a lot, this one seems deserving of the term. Throughout its previous editions, and indeed for this current fifth edition, the text has been extensively reviewed by C# experts both inside and outside Microsoft, including Eric Lippert and Jon Skeet. This edition has new and updated sections on concurrency, threading, parallel programming, and C# 5.0’s new asynchronous functions.

This book covers all the basics, such as syntax, types, and variables and other fundamental elements of C#. It covers the range and also gets into more advanced topics such as unsafe code and type variance. There are three chapters in this edition that cover LINQ, as well as in-depth coverage of code contracts, dynamic programming, parallel programming, and native interoperability. If you’re only going to have one C# book, this wouldn’t be a bad choice.

C# 6.0 and the .NET 4.6 Platform

So much has happened on the C# and .NET front, the authors of this text have completely rewritten and revised this edition as C# 6.0 and the .NET 4.6 Platform—now in its seventh edition. This edition reflects the latest changes to the C# language specification and new advances in the .NET Framework. There are new chapters covering the important new features of .NET 4.6, including:

  • Refined ADO.NET Entity Framework programming model
  • IDE and MVVM enhancements for WPF desktop development
  • Updates to the ASP.NET Web APIs

This edition intends to provide a comprehensive foundation in the C# programming language and the core aspects of the .NET platform. There are also extensive overviews of technologies built on top of C# and .NET (including ADO.NET and Entity Framework, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), ASP.NET (WebForms, MVC, and WebAPI)). There’s complete coverage of the .NET 4.6 Platform and C# 6. You’ll also learn about XAML, Visual Studio 2015, and the new Windows Runtime. Incidentally, this edition was co-authored by Philip Japikse, a veteran Visual Studio Live! presenter.

The C# Player's Guide

This one is good if you’re just getting into coding with C#. It starts out with some of the basics of C#, but takes you all the way through into some of the more advanced aspects of the language. It opens with an introduction to C#, as well as a step-by-step walkthrough and explanation of coding a C# program.

Then the book gets into procedural programming, including variables, math operations, decision making, looping, methods, and an in-depth look at C#’s typing system. It also covers some fundamental aspects of object-oriented programming, such as inheritance, polymorphism, interfaces, and generics. It moves through some more advanced features of C#, including working with the .NET framework, managing compiler errors, and debugging. This edition of the book is updated to C# 6.0, .NET 4.6, and Visual Studio 2015.

And these three C# books, while all excellent references, clearly aren’t the only options. If you’re looking for a good place to start, there’s an impressively comprehensive Wikibook on C#. This one also takes you through the basics, and then gets into classes and advanced functions. There are also a handful of helpful links along with this entry.

Looking for some free C# books? Here’s a link where you can download them for free. The list includes Fundamentals of Computer Programming with C#, C# Essentials, and Object Oriented Programming Using C#. So there’s clearly no shortage of resources to help you delve deeper into C# programming. Take a look around and you’re sure to find one that suits your level.

Posted by Lafe Low on 01/11/2017


Keep Up-to-Date with Visual Studio Live!

Email address*Country*