Essential C# 5.0 Book Review
|If you are looking to get into .NET development, this book is a great place to start. This book will teach you all you need to know about C# development. It will provide C# beginners with a complete foundation on which to build other .NET skills like WPF, Windows 8 App Store, XAML, ASP.NET, ASP.NET MVC, etc. The book does not cover the libraries to implement these technologies, but that is a good thing. You should have a solid understand of C# before moving on to them.|
I have read a lot of C# books that include coverage of the base class libraries, WPF, Windows Forms, and ASP.NET as the second half of the book. I have never bothered with those parts of the book unless I was simply looking for an introduction to a new technology. They are never covered in-depth enough to do them justice. By leaving them out of this book, the authors were able to provide deeper coverage of the C# 5.0 language.
The book covers a ton of topics. I have listed the chapters below to give you an idea of the topics covered.
1. Introducing C#
2. Data Types
3. Operators and Control Flow
4. Methods and Parameters
8. Value Types
9. Well-Formed Types
10. Exception Handling
12. Delegates and Lambda Expressions
14. Collection Interfaces with Standard Query Operators
15. LINQ with Query Expressions
16. Building Custom Collections
17. Reflection, Attributes, and Dynamic Programming
19. Thread Synchronization
20. Platform Interoperability and Unsafe Code
21. The Common Language Infrastructure
A. Downloading and Installing the C# Compiler and CLI Platform
B. Tic-Tac-Toe Source Code Listing
C. Interfacing with Mutithreading Patterns Prior to the TPL and C# 5.0
D. Timers Prior to the Async/Await Pattern of C# 5.0
Index of 5.0 Topics
Index of 4.0 Topics
Index of 3.0 Topics
One of the coolest things about this book is the 4 indexes. Not only is there a really nice complete index, the authors have also provided an index for .NET 3.0, 4.0, and 5.0 topics to make it easier to find version specific topics.
Each chapter starts with a mind map that provides an at-a-glance view of the topics covered in the chapter. These give you a really nice view of what to expect from the chapter.
Each chapter is packed with sidebar coding guidelines containing dos, don'ts, considerations, and things to avoid for the topic at hand.
The authors also have included sections titled Beginner Topics and Advanced Topics. These are nice because it helps those just getting started to identify advanced topics that they can skip when just starting out, and it shows advanced readers what they can skip when delving into a topic.
They have also include something pretty cool they call Language Contrast sidebars. They identify key differences between C# and other languages. The languages include C++, Java, and Visual Basic .NET.
Although the things I mentioned above add tremendous value to the book, the best the about the book is the author's writing styles. Both of them write in a way that makes the book interesting and easy to read. The flow of topics are very logical making the book easy to read cover to cover, but it is also a great reference. The indexes I have mentioned above really help make this fast and easy to use reference.
The only ding I will give this book is the download for the sample code is not complete. Mark (one of the authors) says on his site you can email him to request individual samples. I had emailed him asking where the download was because I couldn't find it the second time I looked for it, and got back a response that he is travelling until February. I was looking for the download because I noticed samples missing and wanted to see if there was a more complete version available. There are projects for the samples that are missing, but they are just empty. The author's should take the time to fix this. Either delete the empty projects, or complete them. They should also include a read me file explaining the missing samples are intentionally missing.
The missing source code does not take any value away from the book. They are complete in the book and are small. It was just a bit confusing.
Over all I highly recommend this book to all levels of C# developers. I will definitely be keeping this book by my side.
For more book recommendations check out my .NET, iOS, and Java Architecture and Development Book Recommendations for 2013
Essential C# 5.0 (4th Edition)