If you are looking for a book on C# you are likely to be overwhelmed by the sheer number of titles on offer. In Programmer's Bookshelf we trawl through our reviews, to find ones you might find helpful at specific stages and for different purposes.
I Programmer's book reviewers read over hundreds of programming titles per year. That's only a fraction of the programming books published, but we try to cover the important ones. In the case of C# we have around 50 published reviews and the article picks out key points from those that scored at least a 4 and then looked for the latest editions.
If you want to read more of the original review click in the link in each title. If you want to a sample of the most recent version of each book we have included the Kindle previews - but do bear in mind that Kindle versions often don't do justice to printed books. The thumbnails of the book jacket in the side panel provide links to the Amazon website for both printed and Kindle versions. If you just want to view the book's product details (without making a purchase) click in the top portion of the thumbnail to open the book's product details page. If you do decide to buy a book via Amazon, accessing it from a link on I Programmer means that we are credited with a few cents - so thanks to all of you who support us in this way.
This year C# turned 15 years old and, with C# 7.0 recently released, this is a language which can now be considered mature. It isn't without its problems - see Was .NET all a mistake - but if you are in Windows environment then it is a language you can't ignore. So what books are there that will really help?
The top rated book for the beginner is Begin to Code with C# (Microsoft Press, 2016). Mike James, awarding it a 4.5 rating, says:
"Books that are aimed at the complete beginner are rare and good books aimed at the complete beginner are even rarer."
He goes on to say that this book is aimed at the complete beginner, and that it overcomes the difficulties set by C# by making use of some special code that can be downloaded - the Snaps library. This has some advanced features, such as voice synthesis, which is how the beginner can get to do impressive things in just a few lines of code. Later in the book, programming ideas and techniques are introduced, including classes, objects and structures, as well as details like reference and value types. The final part of the book is about making games using sprites and, on the way we learn more about object-oriented programming, including inheritance.
The book is well produced in full color, which extends to the code listings. Code is helpfully annotated and there are Code Analysis sections that point out generalities you might otherwise overlook. These, together with Programmer's Points picked out by a red flag, help to explain the basic concepts of programming and assist in the transition non-programmer to a programmer. Mike's conclusion is:
"This is a real beginner's book and if you are, or know, a real beginner then I would encourage you to give it a try. It won't work for everyone and you will have to spend a lot of time reading and following the examples."
While Essential C# 5.0 (Addison Wesley, 4th edition, 2012) isn't a book for the complete beginner, reviewer Mike James considered it:
a good choice for any programmer making the transition from another language
and gave it a 5-star rating. When reviewer Ian Elliot looked at the next edition, he noted that it hasn't changed very much other than being updated to cover C# 5. There's now a C# 6 version that's been updated to reflect new C# 6.0 and .NET 4.6 features and patterns, with the simplified C# 6 syntax used in examples.
Author Mark Michaelis starts from the very basics - with a Hello world program - and goes through the foundations of the language - data types, flow control, methods, classes, Inheritance, Interfaces - before reaching more advanced topics such as delegates, the effect of LINQ on collection objects, reflection, PLINQ, multi-threading using the Task Parallel Library, interop and the CLI.
His book reads like a cross between a reference work and an informal discussion of C# and focuses on the C# language itself, rather than the whole of the .NET framework. It only strays from its core topic if it illuminates the way the language is used.
Jon Skeet's C# in Depth, 3rd Ed (Manning) is a book that got an enthusiastic recommendation for intermediate-level C# developers. In his review of the second edition, which covered C# 4.0, Nikos Vaggalis commented:
The author's excitement really shines through the book, making it lively and animated.
Sue Gee agreed with the rating in her review of the 3rd Edition, also awarding it a 5 star rating.
Rather than being a run-of-the-mill introduction to a single version of the language, this book looks at its evolution and pointing out the important properties that give the language character such as delegates, generics, lambda expressions, extension methods and more.
The review concludes:
Summing up, I would say that the book does not treat the language as just a tool but as a sophisticated mixture of programming concepts, technological innovations and coding practices. The didactic approach employed, and the looking behind the scene, renders this book not a mere presentation of the language and its syntax but as a classroom encapsulated in a book. You do take concrete knowledge away.
- Next >>