As far as C# Learning books I’m concerned, this is the last one I’m probably going to review on this blog until I decide to pick up a new one, and seeing how I have barely visited C# 7, that probably won’t be much of a wait, and as usual, I am recommending a book which happens to have a newer edition from the moment I picked it up in early 2016, but don’t worry, I cover this at the end of my recommendation.
The C# Players Guide Second Edition gives you a quick introduction to Visual studio 2015, C# 6.0 and .Net 4.6 as you are going to be working with that toolset for quite a while , and then jumps directly into the basic of any programming language dedicated exclusively to C# language (variables, classes, methods in C#, you get the idea) . This book is simply just perfect for either introduction to the language for someone completely new on any programming language, someone who already knows something about it and wishes to gain more knowledge towards the intermediary level or someone who is transferring from other technology stack and decides to go on using C#.
When I am recommending books (or anything in general) I usually avoid using word that describe something as an absolute, but this book makes it easy to break this rule, I can safely say, that this one is just simply THE BEST for learning the powerful C# type system, as it introduces it using a neat C# type hierarchy chart, progressively adding more and more types as you advance through the chapters, Being described as a “players guide” to the world of C#, with you being the player, this book does not feel as “formal” as the C# 6.0 and the .Net 4.6 framework by Andrew Troelsen and Phillip Japikse (that I recommended previously after two years of having it) and not as “informal” as the C# Yellow book (here) by Rob Miles , nonetheless, I really recommend this book for those on the intermediate and beginner level of the learning process.
Every chapter of The C# Players guide Second edition by RB Whitaker has an “In a nutshell” section giving a little summary about the contents of the chapters, which will later work as a reminder to yourself if you want a quick reference; every chapter also have a Try it out! Section with really good exercise on every subject, this really helps you to get the most out of everything, the book also has a dedicated part to advanced C# topics (threads asynchronous programming, Error handling, events and delegates) that may not be getting studied with real depth, but may work for you as a really starting point to understand these advanced topics, as he provides several code examples followed by a how everything is being worked under the hood.
The final part of the book is dedicated to give you an overview of .NET framework, the common language runtime, compilers and the base class libraries, mostly about the way they work and interact in the windows environment to allow you use C# as a tool for developing software, then it goes a little into visual studio usage, common errors that you are probably going to run into, desired configurations and most common key shortcuts, ending with some exercises for you to make that are quite challenging to tackle, but no impossible, and they are definitely worth a try if you are being serious about it, this is probably my second favorite part of the book , after the magnificent explanation of the type system, which is simply unparalleled for someone trying to gain knowledge in the subject.
It should be noted, however, that this books is focused towards the language itself, so the examples within are mostly console applications utilizing visual studio, which in my opinion is great for people who are only interested in C# (a programmer transitioning from other language, someone starting from zero into programming, take your pick.) and not the rest of the technologies that make use of the .net frameworks (like WPF and such), to make things a little bit more complicated in the learning process .
I actually got to recommend this book, in an outdated edition that I managed to get my hands on a couple of years ago, so I should clarify that today there is a newer, updated and shinier edition that covers the ground of C# 7 with the 2017 version of Visual Studio as you can see in the new cover, which undoubtedly should be more enlightening than the second edition.
You can buy The C# Players Guide Third Edition by RB Whitaker here (links to amazon, not affiliate link)