Win Your Copy: C# in Depth
Buy it now
One Minute Bottom Line
The best C# book available for intermediate to expert developers. Experienced .NET developers who think they know everything there is to know about the C# language will almost certainly learn more than a thing or two in this book. It is an interesting cover-to-cover read, and will be a handy desktop reference as well. I recommend this book to anyone who wants to become a C# expert.
Part one lays the foundation for the path to C# 3.0. Chapter one looks at the beginnings of C# and the .NET Framework and introduces readers to the idea of code snippets. Chapter two reviews some of the basics of version 1.0 of C#, including the type system and delegates. Developers familiar with C# can probably skim much of this material.
Part two explores the new features of C# 2.0, beginning in chapter three with arguably the most important addition to the language to date, generics. The basics of generics is explored as well as an in depth look at some of the generic collection classes available in .NET 2.0.
Chapter four dives into nullable types in C# and chapter five looks at how delegates have been improved from what was available in C# 1.0. This is probably the one chapter that all intermediate C# programmers should read. In chapter six, Skeet illustrates how the yield statement has alleviated the pain of implementing iterators in C# classes.
Chapter seven summarizes the remaining new C# 2.0 features including partial types, static classes, namespace aliases and pragma directives.
Part three, on C# 3.0, starts off in chapter eight with a look at the new compiler features in the current version. These new features can make your C# code more concise and readable, most notably by adding anonymous types, implicit typing with the var keyword, and simplifying initilization of types and collections.
Chapters nine and ten cover lambda expressions, expression trees and extension methods. Skeet does a fantastic job of illustrating how all these new features help developers' code evolve as it moves from version to version of C#. Chapter ten wraps up with some guidelines to using extension methods in a way that makes sense and makes your code more useful and readable.
Chapters 11 and 12 cover LINQ, the hallmark feature of C# 3.0 and the .NET Framework 3.5. Chapter 11 looks at LINQ to Objects. LINQ query expression basics are covered first, followed by some more advanced features like filtering, sorting, joins and groupings. Chapter 12 examines other LINQ implementations in .NET 3.5: LINQ to SQL, LINQ to XML, LINQ to DataSet and wraps up with a look at some third party LINQ providers available.
Chapter 13 wraps-up with some best practices in implementing solutions in C# and looks into the future of C#... parallel programming.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)