" 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. Coverage includes * 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.