Instead of rolling with my own list of what I think are the eight greatest books to learn or improve your skills at C#, I decided to look at what others had recommended. I therefore did a search and you can see the pages that I visited at the bottom of this post. The books in this list are in no particular order. As the amazon links are affiliate links I will start with a small disclaimer:
Disclosure: Bear in mind that some of the links in this post are affiliate links and if you go through them to make a purchase I will earn a commission. Keep in mind that I link these companies and their products because of their quality. The decision is yours, and whether or not you decide to buy something is completely up to you.
Head first C#
Authors: Andrew Stellman and Jennifer Greene
I remember reading the first edition of "Head First Design Patterns" back when I studied for my degree in computer science. The "Head first" books are still great at teaching rather complex terms simply and with a great twist of humor making it fun to learn. This is the same with the "Head First C#" book. Like most books on this list, the book has a focus on games.
C# in depth
Author: Jon Skeet
You might know Jon Skeet as the person with the most reputation on Stack Overflow, but if you did not know he is also the author of the book C# in depth. This is not the first book I would pick up if you are not somewhat familiar with C# or a language like it. C# in depth goes into more details and all corners of C# than the other books on this list, but it also compares the newer C# 7 (now somewhat older) to previous versions, making this a more valuable book for you if you already know the language. Chances are big that you will learn something new form this book even if you have worked years with C#.
Learning C# by Developing Games with Unity 2020
Author: Harrison Ferrone
This book was written by an author who wished he had this resource when he first started out. The book starts with simple terms and then goes on to more advanced topics. It has a focus on Unity and creating games which gives you something visual to look at, which often makes learning a new language more fun and easier.
The Author writes that the two key takeaways of the book are: "anyone can learn to program, and programming is a muscle - the only way to get better is to exercise it".
The C# Player's Guide
Author: RB Whitaker
This book starts out by setting you up to start coding in C#. It the moves on to the simple mechanics and structures of the language: variables, if statements loops and methods. It then moves on to object-oriented programming and how to structure code so that it is reusable. At the end it demonstrates some of the more advanced features of the language.
There are many exercises in this book which creates a hands on approach, they are well covered by examples so you are not left wondering how it all fits together, like you do in some other books.
C#: Learn C# in One Day and Learn It Well
Author: Jamie Chan
This is a 161 pages book on C#, so it is rather short and concise. It gives you a fundamental understanding of C#, using mostly console applications so you will not have any visual feedback other than the console. If you would rather develop games or get visual feedback there are other books on this page. Having said that this book is good for understand object oriented programming and a great first book on getting into C# and very easy to go through!
Starting out with Visual C#
Author: Tony Gaddis
This book has a high level of praise when you look at the reviews on amazon. The reason is likely that the author has written several books over the past twenty years on teaching computer science and programming. The book is yet another great book for beginners on this list, it has a lot of hands on material and down to earth examples which makes it a great book to start your C# journey on.
C# 9.0 in a Nutshell: The Definitive Reference
Author: Joe Albahari
This is the newest book on the list (March 2021) and covers the newest version of .Net (5). Where most of the other books in this post covers .Net core, this book is up to date. However it is a whopping 1060 pages, yes over a thousand pages long. I would not suggest this as a beginners book, but for someone who has worked with C# for a while. It goes into many details of the language and as you can guess from its length covers everything you need to know and likely more!
C# 9 and .NET 5 – Modern Cross-Platform Development
Author: Mark J. Price
This book is also rather Immense (822 pages) and is rather new (November 2020) which means that it covers .Net 5. Like C# in nutshell I would not suggest this if you are new to C# and programming, but if you are already working with C# and wish to broaden your horizon, it is a great book. This book also takes you through Entity framework, Nuget, web development and many more topics.
That is it!
I hope you enjoyed this list, let me know what you think in the comments down below. If you know a book you believe should be on the list, let me know as well :)
If you like this post, check out my previous posts on programming/architecture books:
- Great software development books
- .Net - A great book for learning the new .Net 5
- Book review - Release It by Michael T. Nygard
- Great books for software architects and developers