Essential C# 4.0 is a well-organized,"no-fluff" guide to all versions of C# for programmers at all levels of C# experience. This fully updated edition shows how to make the most of C# 4.0's new features and programming patterns to write code that is simple, yet powerful. This edition contains two new chapters on parallel programming, multi-threading, and concurrency, as well as extensive coverage of new C# 4.0 features: dynamic typing, variance, optional/named parameters, and many other new topics. Mark Michaelis covers the C# language in depth, illustrating key constructs with succinct, downloadable code examples. Graphical "mind maps" at the beginning of each chapter show what material is covered and how individual topics interrelate. Topics intended for beginners and advanced readers are clearly marked, and the book includes indexes of C# versions (2.0, 3.0, and 4.0), which make it easy for readers to reference topics specific to a given release of C#.
Following an introduction to C#, readers learn about * Best practices for object-oriented programming in C# * C# primitive data types, value and reference types, implicitly typed variables, anonymous types, plus dynamic typing in C# 4.0 * Methods and parameters-including extension methods, partial meth-ods, and C# 4.0's optional and named parameters * Generics, concurrent collections, and custom collections with iterators * Delegates, events, and lambda expressions * Collection interfaces and standard query operators * Query expressions and the tree expressions on which LINQ providers are based * Reflection, attributes, and dynamic programming * Parallel Query Processing with PLINQ * Multithreaded programming with the Task Parallel Library * Platform interoperability and unsafe code * The Common Language Infrastructure that underlies C# Whether you're just starting out, are an experienced developer moving to C#, or are a seasoned C# programmer seeking to master C# 4.0's most valuable enhancements, Essential C# 4.0 will help you write high-quality, highly effective code.