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 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.
“ 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.