on all orders of $79 or more

$10 OFF your purchase of $150 or more!
Use coupon code MONDAY in checkout.

Effective C# (Covers C# 6.0), (includes Content Update Program) 50 Specific Ways to Improve Your C#

, by
Effective C#  (Covers C# 6.0), (includes Content Update Program) 50 Specific Ways to Improve Your C# by Wagner, Bill, 9780672337871
Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
  • ISBN: 9780672337871 | 0672337878
  • Cover: Paperback
  • Copyright: 12/9/2016
  • Buy New Book

    Not Yet Printed. Place an order and we will ship it as soon as it arrives.


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.

You might also enjoy...

Please wait while the item is added to your bag...