Essential C# 5.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# 5.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, and 5.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# 5.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
1