C# Programmer's Reference [WROX]
Grant Palmer

Review By Peter A. Bromberg, Ph.D.
Printer - Friendly Version

Peter Bromberg

C# Programmer's Reference is a comprehensive and very concise reference to the C# language and the core .NET classes which programmers use in the daily work of constructing programs. The book is similar in style to "ASP.NET Programmer's Reference", another fine Wrox title which I have reviewed separately here.

The main difference is that while the ASP.NET reference focuses on the classes and needs of the ASP.NET programmer, this book is focused almost totally on the C# language itself.

In terms of usefulness, let me say that Grant Palmer's style is absolutely one of the most explicit and concise writing styles I have ever seen. Every sentence is packed with meaning. This guy has the ability to convey in one paragraph - clearly and understandably - what some authors take 2 pages to say. Because of that, although I can say that I'm probably already in the "intermediate programmer range" with C# - having used and studied it seriously for a year - this book has quickly earned a place at my desk, ready to be opened so I can look up something quickly. Oh yes, "F1 is my friend", but many programmers like to have a concise reference book handy too, and this is the one you should have.

Palmer breaks down his book into two distinct halves: the first half of the book is a concise chapter - by chapter look at the C# language itself, broken down into 20 distinct chapters, each dealing with a specific area of the language. The chapters are built in a logical and progressive manner that enables the reader to also use this book as an excellent "textbook" on C#. The second half of the book (Chapters 21 through 28) focus on the types defined in the most common base class libraries. Every chapter in the book contains a concise introduction explaining in detail what the item is, then explanatory paragraphs about defining, creating, using or invocation of the item, and at least one excellent short code example that ties everything together. At the end of each chapter is a brief "bullet point" summary of what has been covered.

To give the reader a better idea of how the book is laid out, I reproduce the Table of Contents below:

Section I - The C# Language
Chapter 1 – Compilation and Program Structure
Chapter 2 – The C# Type System
Chapter 3 – Operators
Chapter 4 – Program Flow
Chapter 5 – Local Variables
Chapter 6 – Arrays
Chapter 7 – Classes
Chapter 8 – Structs
Chapter 9 – Interfaces
Chapter 10 – Enums
Chapter 11 – Fields
Chapter 12 – Methods
Chapter 13 – Properties
Chapter 14 – Indexers
Chapter 15 – Delegates
Chapter 16 – Events
Chapter 17 – Unsafe Code
Chapter 18 – Attributes
Chapter 19 – Preprocessor Directives
Chapter 20 – XML Documentation
Section II – The .NET Class Libraries
Chapter 21 – .NET classes roadmap
Chapter 22 – System classes
Chapter 23 – Collections
Chapter 24 – IO
Chapter 25 – Reflection
Chapter 26 – Text
Chapter 27 - Regular Expressions
Chapter 28 – Threading
Section III – Appendices
Appendix A – C# Keywords
Appendix B – Naming Conventions

As can be seen, the breakdown of subjects here makes it much easier to find something you need while you are working. In addition, the index is very "feature complete". Most of the items you look up in the index can be found at a single location in the book (the way a good reference book should be). The .NET classes roadmap in section II should prove to be useful for most programmers, as will the list of keywords and Naming Conventions in the Appendices.

C# Programmer's Reference does not offer references to the larger class libraries such as ADO.NET or Winforms, in order to keep the book as concise as possible.

In short, Microsoft provides an extensive help feature both in the Framework and with Visual Studio.NET. One of the difficulties I've heard programmers describe about this, however, is that sometimes there is "too much" and sometimes it's not as clear as it could be. Here is a book that provides "just enough", and in a concise style that gets you to "first base" quickly and efficiently while you work. It's directed at programmers who already have some C# under their belt, and the examples and explanations are crystal clear. C# Programmer's Reference, at a list price of only $34.99 US, is a good investment for anyone except the most advanced hard-core C# programmer.

Peter Bromberg is a C# MVP, MCP, and .NET consultant who has worked in the banking and financial industry for 20 years. He has architected and developed web - based corporate distributed application solutions since 1995, and focuses exclusively on the .NET Platform.