Paperback: 784 pages
Publisher: Microsoft Press; 2nd edition (June 9, 2008)
Product Dimensions: 7.4 x 1.9 x 9 inches
Shipping Weight: 3.6 pounds (View shipping rates and policies)
Average Customer Review: 3.7 out of 5 stars See all reviews (6 customer reviews)
Best Sellers Rank: #2,806,962 in Books (See Top 100 in Books) #75 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > Visual C++ #1047 in Books > Computers & Technology > Programming > Languages & Tools > C# #3292 in Books > Textbooks > Computer Science > Software Design & Engineering
This would be a rough way to try to learn C#. The stylistic hallmark is short declarative sentences which are accurate but not necessarily helpful to the learner. For example, consider this gem of a definition of generic methods from chapter 7: "Generic methods have type parameters. These parameters can be used in the method header or body. An open method has type parameters, which are nonspecific. A closed method has type arguments, where specific types are substituted for type parameters. For a generic method, the type parameters are listed after the function name. The type parameter list is enclosed in angle brackets. Each parameter is comma-delimited." Accurate? Sure. Will you know how to write a generic method, or why you would want to? Hardly. This is by no means an isolated example.The alert beginner will know they are in trouble in the first chapter, when the obligatory "Hello, World" program is presented. This one includes a wrinkle I have not seen before and hope not to see again: it uses delegates, a fairly advanced C# feature. The explanation that follows the program source says, "Delegates define a type of function pointer." That's it. Next!You really get the sense that the author's purpose is more to demonstrate how much he knows about the subject than to help you understand it. I am not looking for hand holding of the "3 comes after 2, am I going too fast?" variety. But this is ridiculous. The organization of the book -- broad and fairly thorough coverage of C#, with extensive coverage of .NET and Visual Studio as well -- might lead you to believe it is an appropriate first book. It isn't.
I have to echo Michael Beane's comments:"This would be a rough way to try to learn C#. The stylistic hallmark is short declarative sentences which are accurate but not necessarily helpful to the learner."I am an experienced programmer wanting to move on to C# and I started with the Excellent SAMs C# 24 hr book -a delight to use.Now seeking an intermediate level book I bought this book - and as soon as I started to read it - I regretted my purchase!The opening "hello world" programme with its unnecessarily complex code (defeats the purpose of the simple - introductory code example?) and equally obscure and unhelpful comments is an indication of what is to come.In no way is this a book for those wishing to progress in visual C# - I can't tell whether it is helpful to already experienced C# programmers.The level indicator on the back cover is misleading and should be revised upwards before any future print-run is published.All I would say is notwithstanding it may be technically excellent but the writing style is abysmal - I certainly wont be buying any more books from either this author or series!!!richard willis
If you want an authoritative tome on C# 3.0 then this is the right book. The book goes very deep into C# e.g. IEnumerable is explained in such a detail very precisely. The book also covers MSIL, VS Debugging, Metadata + Reflection, Memory management and Unsafe code. The section on Memory management is a very detailed one on how the GC actually works. Can't wait for a revised edition of the book for C# 4.0.