Authors: Joseph Albahari, Ben Albahari
Edition: 4th Edition (covers CLR 4.0)
Publisher: O’Reilly
ISBN: 978-0-596-80095-6
Price: $49.99 (US); $62.99 (CAN); £38.50 (British)
Catalog Page: http://oreilly.com/catalog/9780596800956/TOC Listing: http://oreilly.com/catalog/9780596800963#toc
O’Reilly User Group Discount Code:
Without a doubt, O’Reilly Media produces many of the finest information technology books on the market. Whether your need is beginner’s level introductions to information technologies or are a more advanced programmer in need of more complex and refined topics, O’Reilly has a book that can meet diverse needs of an audience often with vastly wide-ranging skill levels. One of their numerous series of books are the Nutshell series which their website describes as “topical quick-reference guides that document every nook and cranny of a topic or technology area . . . Designed to be daily companions, these books belong next to your keyboard, at the ready when you need a quick answer” (http://oreilly.com/store/series/nutshells.csp). Having used a couple of the Nutshell selections for a couple of years, I have to say that this description perfectly fits these books. They are not really a book you sit and read cover to cover.
The text contains twenty-six chapters covering all elements of C# 4.0. Notably, the book covers “features new to C# 4.0 and the associated Framework are flagged so that you can also use this book as a C# 3.0 reference” (Albahari & Albahari, 2010). This fourth edition of the book covers the significant new feature set being provided in C# 4.0 including dynamic binding, type variance with generic interfaces and delegates, optional parameters, named arguments, and COM interoperability improvements.
The first three chapters of the text concentrate purely on C# covering the basics of syntax, types, and variables. This front content finishes with advanced topics including unsafe code and preprocessor directives. New C# users should read all three of these chapters sequentially to gain the foundational understanding of the language before moving into the remaining chapters that cover the core .NET Framework including such topics as LINQ, XML, collections, I/O and networking, memory management, reflection, dynamic programming, attributes, security, concurrency, application domains, and native interoperability. For new C# programmers, chapters six and seven (Framework Fundamentals and Collections) should also be read sequentially as they are integral concepts. The text also contains three chapters covering LINQ that should be read sequentially (LINQ Queries, LINQ Operators, and LINQ to XML).
As I examined this book, I realized that it would serve as an excellent quick reference for developers of all levels. However, the book is targeted at intermediate to advanced audiences. For beginners who make the wise decision to include this book in their library, it will serve as an exceptionally useful complement to a tutorial-style instruction to programming in C# 3.0 or 4.0. It will also serve as an ideal companion to books focusing on applied technology such as WPF, ASP.NET, or WCF. In fact, this book should be a required supplementary text for beginning students in C# 3.0 or 4.0 programming classes.
To work the code examples (especially those specific to C# 4.0) you will need the following software tools and documentation:
- C# 4.0 Compiler
- Microsoft .NET Framework 4.0
- Microsoft’s .NET documentation
I would highly recommend this book to anyone interested in developing applications using C# 4.0. In fact, if you develop in C#, your library or bookshelf should not be missing this book. Clear concise examples, a great writing style, and wonderful diagrams of key concepts just add to the overall value of this book. Add to that the fact that you can use this book as a resource for C# 3.0 and it is a no brainer! Another excellent work from the O’Reilly team.