Review: Effective C#, Second Edition

Effective C# - cover

Author: Bill Wagner
Publisher: Addison Wesley
Published: 2010
Pages: 328

This is the second edition of a book with the same title, written for C# 1. This book was written to C# 4. There is a companion book, More Effective C#, written to C# 3, and covering language features added following the original book’s publication.

This book contains fifty items, divided among six chapters. Some of the chapters are highly topical, covering closely related items. Other chapters, especially the last one, are broader and less-focused groupings.

The chapters are:

  1. C# Language Idioms
  2. .NET Resource Management
  3. Expressing Designs in C#
  4. Working with the Framework
  5. Dynamic Programming in C#
  6. Miscellaneous

Across the chapters, numerous less-understood language features are covered, including but not limited to:

  • boxing and unboxing
  • garbage collection
  • interfaces
  • delegates
  • dynamics
  • parallel programming
  • covariance & contravariance
  • optional parameters
  • query syntax versus loops
  • equality checking

Some of the topic areas I already had at least some understanding of, but many I did not. In both cases, I learned much, and consider myself improved for becoming aware of these language features. While not all, or even any, of these features are useful for every situation, it is good to know of these features so they can be used where appropriate, and correctly.

The bottom line: This book is not for beginners – it is not a tutorial, cookbook, or reference. It is a guide to making the best possible use of C# constructs. For intermediate or advanced programmers, it is a recommended read to understand intricacies of C# and .NET.

Related Posts