Many books introduce C#, but if you don't have the time to read 1,200 pages, Accelerated C# 2008 gives you everything you need to know about C# 2008 in a concentrated 500 pages of must-know information and best practices.
C# 2008 offers powerful new features, and Accelerated C# 2008 is the fastest path to mastery, for both experienced C# programmers moving to C# 2008 and programmers moving to C# from another object-oriented language.
You'll quickly master C# syntax while learning how the CLR simplifies many programming tasks. You'll also learn best practices that ensure your code will be efficient, reusable, and robust. Why spend months or years discovering the best ways to design and code C# when this book will show you how to do things the right way, right from the start?
Comprehensively and concisely explains both C# 2005 and C# 2008 features Focuses on the language itself and on how to use C# 2008 proficiently for all .NET application development Concentrates on how C# features work and how to best use them for robust, high–performance code
3.0 out of 5 stars Decent Book, But the Audience is Wrong July 3, 2008
Overall, this is a decent book. But, simply because the author didn't properly define his audience, I have to mark it down a notch. From the 1st sentence of the "About This Book" section in the Introduction (on page xxvi), the author states:
"I assume that you already have a working knowledge of some object-oriented programming language, such as C++, Java, or Visual Basic .NET."
So, I assumed that since I'd already learned C, C++, and Java, but just dabble in programming, I could use this book instead of plowing through another 1200 page book that starts out with a chapter on sequential statements, a chapter on conditional statements, a chapter on iterative statements, etc.. But, that was a faulty assumption. Instead, this book is REALLY designed for programmers who've done some fairly advanced work in other object-oriented languages UNDER THE WINDOWS .NET FRAMEWORK. For instance, at the start of Chapter 1 (page 1, paragraph 1, line 1), it says:
"Since this is a book for experienced object-oriented developers, I assume that you already have some familiarity with the .NET runtime."
And, on page 231:
"I'm assuming that you're already familiar with the nongeneric collection types and collection interfaces available in .NET 1.1--specifically, those defined in the System.Collections and System.Collections.Specialized namespaces."
So, if you're not very familiar with .NET, you'll have problems with the book. Also, the author tends to slip out of even that "advanced .NET programmer" audience in another way: he sometimes writes to programmers who've used previous versions of C#. For instance, when he introduces Delegates in chapter 10, he never really ties them to the C/C++ model of function pointers or Java's inner classes. The closest he comes is saying they implement a callback function.
The author also assumes knowledge of various design patterns from the "Gang of Four's" Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) book (and a few other sources, too). Here are the patterns he references and the pages where he makes those references:
There are also some smaller things that are a bit irritating. First of all, his code formatting is inconsistent. His use of braces ({}) changes constantly. Sometimes he'll start a block with the first "{" immediately following a keyword on the same line. At other times, he'll put it at the start of the next line. Sometimes, he uses both in the same hunk of code. Ditto for his positioning of instance variables (fields in C# terminology). Sometimes he'll have them at the top of the class. Other times, he'll have them at the bottom. Sometimes, both. And, least importantly, he uses too many forward references (especially referring to Chapter 13).
Overall, if you happen to be an advanced programmer who programs in an object-oriented .NET environment for a living and you want to pick up the latest version of C#, this is a very good book. It certainly won't bore you with trivial stuff, and the way the author presents things will be very helpful. But, if you're just a dabbler with limited experience, the book will probably be confusing. As such, I can only rate it an OK 3 stars out of 5. In future printings, if the author merely revises the stated audience to reflect the actuality, and standardizes the formatting of the code, this book would easily be a 4 star book.