Synopses & Reviews
Synopsis
Now fully updated to reflect C# 6.0's latest capabilities and newest best practices,
Effective C#, Third Edition, will help you harness its full power to write exceptionally robust, efficient, maintainable, and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers's best-selling
Effective C++, Bill Wagner brings together 50 C# best practices, tips, shortcuts, and realistic code examples, helping you quickly master advanced techniques it might take years to discover on your own.
Reflecting the growing maturity of the C# language and the growing sophistication of its development community, Wagner presents many new opportunities to write better code. This edition's solutions include several leveraging new Roslyn APIs, and others relying on improvements to key features such as tuples, record types, and pattern matching.
Drawing on his unsurpassed experience, Wagner addresses everything from resource management and dynamic typing to multicore support, and reveals how to avoid common pitfalls in the language and its .NET environment. Through realistic examples, he helps you choose the most effective solution when multiple options exist, and how to write code that's easier to understand, maintain, and improve.
Each section contains specific, actionable guidelines, organized into "items": short vignettes offering carefully worded advice, concise technical explanations, and illuminating examples.
Effective C# and
More Effective C# also contain an exclusive digital component: Bill Wagner's Visual Studio Code Analyzer add-in. Run it interactively or as part of a command line build: either way, it will help you identify even more opportunities to improve your code.
"
Synopsis
In
Effective C#, Third Edition, respected .NET expert Bill Wagner identifies 50 ways to harness the full power of the C# 6.0 language to write exceptionally robust, efficient, and well-performing code. Reflecting the growing sophistication of the C# language and its development community, Wagner has identified dozens of new ways to write better code. This edition s new solutions include some that take advantage of generics and several that are more focused on LINQ, as well as a full chapter of advanced best practices for working with exceptions.
Wagner s clear, practical explanations, expert tips, and realistic code examples have made Effective C# indispensable to hundreds of thousands of developers. Drawing on his unsurpassed C# experience, he addresses everything from resource management to multicore support, and reveals how to avoid common pitfalls in the language and its .NET environment. Learn how to choose the most effective solution when multiple options exist, and how to write code that s far easier to maintain and improve. Wagner shows how and why to
- Prefer implicitly typed local variables (see Item 1)
- Replace string.Format() with interpolated strings (see Item 4)
- Express callbacks with delegates (see Item 7)
- Make the most of .NET resource management (see Item 11)
- Define minimal and sufficient constraints for generics (see Item 18)
- Specialize generic algorithms using runtime type checking (see Item 19)
- Use delegates to define method constraints on type parameters (see Item 23)
- Augment minimal interface contracts with extension methods (see Item 27)
- Create composable APIs for sequences (see Item 31)
- Decouple iterations from actions, predicates, and functions (see Item 32)
- Prefer lambda expressions to methods (see Item 38)
- Distinguish early from deferred execution (see Item 40)
- Avoid capturing expensive resources (see Item 41)
- Use exceptions to report method contract failures (see Item 45)
- Leverage side effects in exception filters (see Item 50)
You re already a successful C# programmer, and this book will make you an outstanding one.
Content Update Program: This book is part of the InformIT Content Update Program. As updates are made to C#, sections of this book will be updated or new sections will be added to match updates to the technologies. See inside for details.
"