“ Welcome to one of the greatest collaborations you could dream of in the world of C# books—and probably far beyond!”
—From the Foreword by Mads Torgersen, C# Program Manager, Microsoft
Essential C# 6.0 is a well-organized, no-fluff guide to the latest versions of C# for programmers at all levels of experience. Fully updated to reflect new C# 6.0 and .NET 4.6 features and patterns, it will help you write C# code that’s simple, powerful, robust, secure, and maintainable.
This book’s authors are world-class C# experts: long-time Microsoft MVP and Regional Director Mark Michaelis and Eric Lippert, formerly principal developer on Microsoft’s C# compiler team. Together, they cover the entire language, illustrating key constructs with succinct examples and offering a complete foundation for successful C# development.
Essential C# 6.0 makes it easy to program with any version of C#, whether you’re creating new code or maintaining existing systems. Separate indexes for C# versions 4, 5, and 6 help you quickly find version-specific answers with accompanying visual indicators that help you identify which language innovations will work when. This edition also includes a set of best-practice C# Coding Guidelines updated to leverage C# 6.0 constructs.
Mastering C# data types, operators, control flow, methods, and parameters
Using C# object-oriented constructs, including classes, inheritance, interfaces, and more—all with the significantly simplified syntax of C# 6.0
Working with well-formed value and reference types
Implementing reliable, effective exception handling
Reducing code complexity with generics, delegates, lambda expressions, and events (including a simplified C# 6.0 syntax for triggering events)
Learning dynamic programming with reflection and attributes
Querying diverse data collections using LINQ with query expressions
Creating custom collections that operate against business objects
Using collection interfaces and standard query operators to access .NET collections
Understanding the Common Language Infrastructure and C# in the context of .NET 4.6
Taking advantage of declarative programming, embedded metadata, reflection, and attributes
Mastering multithreading and synchronization, including the new async/await paradigm
Using P/Invoke, pointers, and direct memory manipulation to interoperate with other languages
Understanding how C# programs relate to the underlying runtime
For Qualified Instructors
An instructor’s guide, exercises, and a slide deck are available to support your courses.