More Effective C# (Includes Content Update Program): 50 Specific Ways to Improve Your C#, Edition 2

Addison-Wesley Professional
Free sample

In More Effective C#, Second Edition, world-renowned .NET expert Bill Wagner identifies and illuminates 50 intermediate-to-advanced techniques for writing exceptionally robust and well-performing C# 7.0 code. Reflecting the growing sophistication of the C# language and its development community, Wagner presents powerful new solutions to problems you’re likely to encounter every day.

Through three editions of Effective C#, Wagner’s clear explanations, expert tips, and realistic code examples have proven invaluable to hundreds of thousands of developers. With the publication of this title, Effective C#, Third Edition, and More Effective C#, Second Edition, have been completely reorganized to provide clear explanations, expert tips, and realistic code examples in a cohesive package for modern C#. More Effective C#, Second Edition, brings the same proven approach to the new features in C# 7.0, helping you perform familiar tasks more efficiently and effectively.

Drawing on his unsurpassed C# experience and key role on global C# standards committees, Wagner addresses object-oriented, functional, and service-oriented approaches to managing data with C#; better ways to express your intent to users and other programmers; and new opportunities to leverage powerful asynchronous and dynamic programming techniques.

  • Use properties instead of accessible data members (Item 1)
  • Distinguish between value and reference types (Item 4)
  • Understand relationships among multiple concepts of equality (Item 9)
  • Avoid conversion operators in your APIs (Item 11)
  • Understand how interface and virtual methods differ (Item 15)
  • Avoid overloading methods defined in base classes (Item 19)
  • Create method groups that are clear, minimal, and complete (Item 22)
  • Enable immediate error reporting in iterators and async methods (Item 26)
  • Use async methods for async work (Item 27)
  • Avoid thread allocations and context switches (Item 30)
  • Construct PLINQ parallel algorithms with exceptions in mind (Item 36)
  • Use the thread pool instead of creating threads (Item 37)
  • Use BackgroundWorker for cross-thread communication (Item 38)
  • Use the smallest possible scope for lock handles (Item 41)
  • Understand the pros and cons of dynamic programming (Item 43)
  • Make full use of the expression API (Item 46)
  • Minimize dynamic objects in public APIs (Item 47)

You’re already a successful C# programmer: 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.


Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.

Read more

About the author

Bill Wagner is one of the world’s foremost C# developers, a member of the ECMA C# Standards Committee, and author of all three editions of Effective C#. He is president of the Humanitarian Toolbox, has been awarded Microsoft Regional Director and .NET MVP for 11 years, and was recently appointed to the .NET Foundation Advisory Council. Wagner has helped companies ranging from start-ups to enterprises to improve development processes and grow development teams. Now a member of Microsoft’s .NET Core content team, he creates developer learning materials on the C# language and .NET Core.
Read more
Loading...

Additional Information

Publisher
Addison-Wesley Professional
Read more
Published on
Aug 14, 2017
Read more
Pages
304
Read more
ISBN
9780134579337
Read more
Language
English
Read more
Genres
Computers / Programming / Microsoft
Computers / Programming Languages / C#
Read more
Content Protection
This content is DRM protected.
Read more
Eligible for Family Library

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
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.

This new 7th edition of Pro C# 6.0 and the .NET 4.6 Platform has been completely revised and rewritten to reflect the latest changes to the C# language specification and new advances in the .NET Framework. You'll find new chapters covering all the important new features that make .NET 4.6 the most comprehensive release yet, including:A Refined ADO.NET Entity Framework Programming ModelNumerous IDE and MVVM Enhancements for WPF Desktop DevelopmentNumerous updates to the ASP.NET Web APIs

This comes on top of award winning coverage of core C# features, both old and new, that have made the previous editions of this book so popular. Readers will gain a solid foundation of object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies).

The mission of this book is to provide you with a comprehensive foundation in the C# programming language and the core aspects of the .NET platform plus overviews of technologies built on top of C# and .NET (ADO.NET and Entity Framework, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), ASP.NET (WebForms, MVC, WebAPI).). Once you digest the information presented in these chapters, you’ll be in a perfect position to apply this knowledge to your specific programming assignments, and you’ll be well equipped to explore the .NET universe on your own terms.

What You Will Learn:

Be the first to understand the .NET 4.6 platform and C# 6.
Discover the ins and outs of the leading .NET technology.
Learn from an award-winning author who has been teaching the .NET world since version 1.0.
Find complete coverage of XAML, .NET 4.6 and Visual Studio 2015 together with discussion of the new Windows Runtime.

C# has matured over the past decade: It’s now a rich language with generics, functional programming concepts, and support for both static and dynamic typing. This palette of techniques provides great tools for many different idioms, but there are also many ways to make mistakes. In Effective C#, Second Edition, respected .NET expert Bill Wagner identifies fifty ways you can leverage the full power of the C# 4.0 language to express your designs concisely and clearly.

Effective C#, Second Edition, follows a clear format that makes it indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from types to resource management to dynamic typing to multicore support in the C# language and the .NET framework. Along the way, he shows how to avoid common pitfalls in the C# language and the .NET environment. You’ll learn how to

Use both types of C# constants for efficiency and maintainability (see Item 2) Employ immutable data types to promote multicore processing (see Item 20) Minimize garbage collection, boxing, and unboxing (see Items 16 and 45) Take full advantage of interfaces and delegates (see Items 22 though 25) Make the most of the parallel framework (see Items 35 through 37) Use duck typing in C# (see Item 38) Spot the advantages of the dynamic and Expression types over reflection (see Items 42 and 43) Assess why query expressions are better than loops (see Item 8) Understand how generic covariance and contravariance affect your designs (see Item 29) See how optional parameters can minimize the number of method overloads (see Item 10)

You’re already a successful C# programmer–this book will help you become an outstanding one.

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.

In More Effective C#, Microsoft C# MVP and Regional Director Bill Wagner introduces fifty brand-new ways to write more efficient and more robust software. This all-new book follows the same format as Wagner’s best-selling Effective C# (Addison-Wesley, 2005), providing clear, practical explanations, expert tips, and plenty of realistic code examples.

Wagner shows how to make the most of powerful innovations built into Microsoft’s new C# 3.0 and .NET Framework 3.5, as well as advanced C# language capabilities not covered in his previous book. Drawing on his unsurpassed C# experience, the author reveals new best practices for working with LINQ, generics, metaprogramming, and many other features. He also uncovers practices that compromise performance or reliability and shows exactly how to avoid them.

More Effective C# shows how to

Use generics to express your design intent more effectively Master advanced generics techniques, such as constraints, method constraints, and generic specialization Use the multithreaded techniques you’ll need to work with the .NET framework every day Express modern design idioms using the rich palette of C# language features Successfully mix object oriented and functional programming constructs Create composable interfaces and avoid confusion in public interfaces Use extension methods to separate contracts from implementation Program successfully with C# closures and anonymous types Write more effective LINQ queries Make the most of LINQ Lazy Evaluation Queries and Lambda Expressions Distinguish and convert between delegates and expression trees Efficiently utilize nullable types and partial classes Use implicit properties for mutable, nonserializable data

You’re already a successful C# programmer—this book can help you become an outstanding one.

C#'s resemblances to C++, Java, and C make it easier to learn, but there's a downside: C# programmers often continue to use older techniques when far better alternatives are available. In Effective C#, respected .NET expert Bill Wagner identifies fifty ways you can start leveraging the full power of C# in order to write faster, more efficient, and more reliable software.

Effective C# follows the format that made Effective C++ (Addison-Wesley, 1998) and Effective Java (Addison-Wesley, 2001) indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from value types to assemblies, exceptions to reflection. Along the way, he shows exactly how to avoid dozens of common C# performance and reliability pitfalls. You'll learn how to:

Use both types of C# constants for efficiency and maintainability, see item 2

Use immutable data types to eliminate unnecessary error checking, see item 7

Avoid the C# function that'll practically always get you in trouble, see item 10

Minimize garbage collection, boxing, and unboxing, see items 16 and 17

Take full advantage of interfaces and delegates, see items 19 though 22

Create CLS compliant assemblies that use noncompliant C# language features, see item 30

Improve reliability and maintainability by creating small, cohesive assemblies, see item 32

Leverage the full power of .NET's runtime diagnostics, see item 36

Know when–and when not–to use reflection, see items 42 and 43

Preview the major enhancements in C# 2.0, see item 49

You're already a successful C# programmer–this book can help you become an outstanding one.

Bill Wagner is co-founder of and .NET consultant for SRT Solutions. A nationally recognized independent expert on .NET, he has been a regular contributor to ASP.NET Pro Magazine, Visual Studio Magazine, and the .NET Insight newsletter. In addition to being a Microsoft Regional Director, he is also active in the Southeast Michigan .NET User Group and the Ann Arbor Computing Society. He is author of The C# Core Language Little Black Book (The Coriolis Group, 2002).


© Copyright Pearson Education. All rights reserved.

 涵蓋 C# 6.0


因應越來越複雜的C#語言與日漸龐大的開發社群,作者歸納了50種撰寫更好程式的方法,協助讀者撰寫出堅實、高效率、高性能C# 6.0程式。本書新版所提供的新方案包括善用泛型與LINQ,以及專門一章討論例外處理的最佳做法。


清楚、務實、專家秘訣與實用的範例程式,讓眾多開發者對Effective C#愛不釋手。憑藉著豐富的C#經驗,作者提供了C#語言與.NET環境中,從資源管理到多核支援的各種問題解決方案,以及如何避開常見的陷阱。讀者可學習到在多種選項下如何選擇最有效的解決方法,與如何撰寫容易維護及改善的程式碼。Wagner解釋了以下條目的原因與做法:


‧偏好隱含型別的區域變數(見方法1)

‧以內插字串取代string.Format()(見方法4)

‧以delegate表達callback(見方法7)

‧善用.NET的資源管理(見方法11)

‧定義最少且足夠的泛型限制(見方法18)

‧使用執行期型別檢查特化通用演算法(見方法19)

‧以delegate定義方法的型別參數限制(見方法23)

‧以擴充方法規範最小界面合約(見方法27)

‧建構sequence的可組合API(見方法31)

‧action、predicate、以及函式與迭代的解耦(見方法32)

‧偏好lambda表示式的方法(見方法38)

‧區別提前與延後執行(見方法40)

‧避免抓取高成本的資源(見方法41)

‧使用例外回報方法合約失敗(見方法45)

‧利用例外慣例的副作用(見方法50)


如果你已經是成功的C#程式設計師,本書將讓你晉身為頂尖高手。


#碁峰資訊 GOTOP Information Inc.

©2018 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.