{"product_id":"9780134579283","title":"Effective C# (Covers C# 6.0), (includes Content Update Program): 50 Specific Ways to Improve Your C#","description":"\u003cp\u003eIn \u003ci\u003e \u003cb\u003eEffective C#, Third Edition,\u003c\/b\u003e \u003c\/i\u003e 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.\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eWagner’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 \u003cbr\u003e \u003c\/p\u003e \u003cp\u003e \u003cbr\u003e \u003c\/p\u003e \u003cul\u003e \u003cli\u003ePrefer implicitly typed local variables (see Item 1)\u003c\/li\u003e \u003cli\u003eReplace string.Format() with interpolated strings (see Item 4)\u003c\/li\u003e \u003cli\u003eExpress callbacks with delegates (see Item 7)\u003c\/li\u003e \u003cli\u003eMake the most of .NET resource management (see Item 11)\u003c\/li\u003e \u003cli\u003eDefine minimal and sufficient constraints for generics (see Item 18)\u003c\/li\u003e \u003cli\u003eSpecialize generic algorithms using runtime type checking (see Item 19)\u003c\/li\u003e \u003cli\u003eUse delegates to define method constraints on type parameters (see Item 23)\u003c\/li\u003e \u003cli\u003eAugment minimal interface contracts with extension methods (see Item 27)\u003c\/li\u003e \u003cli\u003eCreate composable APIs for sequences (see Item 31)\u003c\/li\u003e \u003cli\u003eDecouple iterations from actions, predicates, and functions (see Item 32)\u003c\/li\u003e \u003cli\u003ePrefer lambda expressions to methods (see Item 38)\u003c\/li\u003e \u003cli\u003eDistinguish early from deferred execution (see Item 40)\u003c\/li\u003e \u003cli\u003eAvoid capturing expensive resources (see Item 41)\u003c\/li\u003e \u003cli\u003eUse exceptions to report method contract failures (see Item 45)\u003c\/li\u003e \u003cli\u003eLeverage side effects in exception filters (see Item 50)\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e \u003cbr\u003e \u003c\/p\u003e \u003cp\u003eYou’re already a successful C# programmer, and this book will make you an outstanding one.\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e \u003ci\u003eContent 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.\u003c\/i\u003e \u003c\/p\u003e","brand":"Pearson Education","offers":[{"title":"Default Title","offer_id":47119775301872,"sku":"9780134579283","price":35.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0737\/7593\/9824\/files\/9780134579283_p0.jpg?v=1763641606","url":"https:\/\/shop-qa.barnesandnoble.com\/products\/9780134579283","provider":"Barnes \u0026 Noble (DEV)","version":"1.0","type":"link"}