Essential C# 6.0

Essential C# 6.0 is a well-organized, “no-fluff” guide to the latest versions of C# for programmers at all levels of C# experience.

Fully updated to reflect new features and programming patterns introduced with C# 6.0 and .NET 4.5, this guide shows you how to write C# code that is simple, powerful, robust, secure, and maintainable. Microsoft MVP Mark Michaelis and C# principal developer Eric Lippert provide comprehensive coverage of the entire language, offering a complete foundation for effective software development.

The authors illustrate key constructs with succinct, downloadable code examples. Graphical mind maps at the beginning of each chapter outline the material that is covered and how individual topics interrelate. This edition also includes C# Coding Guidelines that call attention to today’s best practices for writing C# code. Separate indexes of C# versions 3.0, 4.0,  5.0, and 6.0 make it easy to find answers specific to whatever version of C# you are using.

Throughout, topics intended for beginners and advanced readers are clearly marked. If you’re new to C#, this guide will help you start writing significant code quickly. If you’re an experienced C# developer, you’ll gain insight into today’s most complex programming challenges and techniques as you master key C# 6.0 innovations such as async/await pattern. No matter how advanced your skills become, you’ll come to rely on this indispensable reference.


Coverage includes:

  • Mastering C# data types, operators, control flow, methods, and parameters
  • Making the most of C# object-oriented constructs, including classes, inheritance, interfaces, and more
  • Building reliable, effective exception handling into your code
  • Using generics, delegates, Lambda expressions, and events to reduce code complexity
  • Learning dynamic programming with reflection and attributes
  • Querying virtually any type of data using LINQ with Query Expressions
  • Creating custom collections that operate against business objects
  • Understanding the Common Language Infrastructure and C# in the context of the .NET 4.5 development platform
  • Taking advantage of declarative programming, embedded metadata, reflection, and attributes
  • Thoroughly mastering multithreading and synchronization, including the new async/await paradigm
  • Discussion of WinRT and programming in C# for Windows 8
  • Using P/Invoke, pointers, and direct memory manipulation to interoperate with code in other languages
  • Understanding how C# programs relate to the underlying runtime

Errata Document

Code Listing Source Code

The code is available on GitHub – feel free to make pull requests.


The sample code doesn’t contain every code listing within the book. If there are particular samples missing that you would like to have please email and let me know.

Special thanks to Kody Brown who did a ton of work reviewing, testing, and posting the code for Essential C# 5.0 and his work continues forward to Essential C# 6.0.

About the Authors

MARK MICHAELIS founded IntelliTect and serves as its chief technical architect and trainer. Since 1996, he has been a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK; in 2007, he was recognized as a Microsoft Regional Director. Michaelis serves on several Microsoft software design review teams, including C#, Connected Systems, Office/SharePoint, and Visual Studio. He speaks at developer conferences and has written many articles and books.

ERIC LIPPERT is a principal developer on the C# compiler team at Microsoft, and a member of the C# language design team. He has worked on the design and implementation of several Microsoft languages, and on Visual Studio Tools for Office.

Previous Version 

Sample Chapters

“NOTE: this content is taken from the previous edition of Essential C# 3.5, not 4.0.”


6 responses to “Essential C# 6.0”

  1. Jan Fredrik Fallsen says:

    Regarding translation to Norwegian:
    2 years ago i started to translate Essentials C# 4.0 third edition, to Norwegian. I have now finished the translation, but i have not published it yet since i wanted to upgrade the book to Essentials C# 5.0 fourth edition, or Essential C# 6.0. I was reading an review by Ian Eliot regarding Essentials C# 5.0. He said that it was not much difference between Essentials C# 4.0 third edition – which i have translated, and Essentials C# 5.0 fourth edition. Now i need to know, what’s best to do, upgrade the translation from Essential C# 4.0 to Essentials C# 5.0 fourth edition, or to Essentials C# 6.0? When vil Essentials C# 6.0 be published?

  2. Steve Jacobs says:

    Is this book available yet? If not, when will it be published? Thanks!

  3. Miles says:

    I noticed on Amazon that the 6.0 book is 24 pages shorter than 5.0 even though one would expect more content. I realize there are many reasons that could account for this but I was curious if anything was removed since the previous edition, and if so, what exactly? I was just going to sell my 5.0 book but I’m hesitant to do so if there’s anything exclusive in it.

    • Mark Mark says:

      Hi Miles… The reason for the reduced page count is because we eliminated an appendix chapter on Multithreading prior to C# 5.0 and moved it to a download exclusively. I believe this material is even more dated than it was for Essential C# 5.0 such that printing it was not of sufficient value to the reader. As it turns out, we did add pages for C# 6.0 but without removing any the book would have been too long for the binding – so it is a good thing we cut the appendix anyway. :)

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Us
Phone: (509) 315-3400


What an awesome session. While I was "using" .NET 4.0, I really wasn't "using" .NET 4.0. There was a lot of information to cover here, Mark did a great job ordering and covering the material. Props to the "Code Monkey" too!
- Seminar Attendee, TechEd 2011, Atlanta, GA
CONTACT US: (509) 315-3400 | | Jobs | Site Map