Effective C#: 50 Specific Ways to Improve Your C#

Front Cover
Pearson Education, Dec 3, 2004 - Computers - 336 pages

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.


What people are saying - Write a review

We haven't found any reviews in the usual places.


Introduction Chapter 1 C Language Elements Chapter 2 NET Resource Management
Expressing Designs with
Always Use Properties Instead of Accessible Data Members
Prefer readonly to const
Prefer the is or as Operators to Casts
Use Conditional Attributes Instead of
Always Provide ToString
Understand the Relationships Among ReferenceEquals static Equals instance Equals and operator
Prefer Variable Initializers to Assignment Statements
Initialize Static Class Members with Static Constructors
Utilize Constructor Chaining
Utilize using and tryfinally for Resource Cleanup
Minimize Garbage
Minimize Boxing and Unboxing
Implement the Standard Dispose Pattern

Distinguish Between Value Types and Reference Types
Prefer Immutable Atomic Value Types
Ensure That 0 Is a Valid State for Value Types

Common terms and phrases

Bibliographic information