Visual C# 2005, A A Developer's Notebook by author Jesse Liberty is part of a new type of series from O'Reilly. I have to say I really like this new series format. It's quite a departure from the "animal" cover books that IT folks are familiar with, which tend to be more of a complete programmer's reference to a technology. They tend to read more like a textbook, but the Developer’s Notebook series have a number of nice features that make them easy to check for quick reference on how to do particular tasks. Each topic starts with how to do a particular task, a "What Just Happened" section that explains what the code does and how it does it, a "What About" section that talks about related topics or sticky areas of the technology being discussed and finally a place to learn more.
The "learn more" areas tend to be links to MSDN or other Microsoft properties, which I guess is fine as the links tend to stay good for awhile and the content is generally top notch. Including this type of information may shorten the book's shelf-life, but I'm not sure that's a bad thing, as this is very timely information on new technology. In this situation it is extra helpful to have any additional resources where you can learn more.
Jesse Liberty is no stranger to writing, and is a good choice to author this book, having written 6 other books on .NET for O’Reilly. This book is very clearly geared to existing C# programmers who want to get up to speed on the new features of the language in the 2.0 version. I've worked a lot with C# and I've also been exposed quite a bit to various betas of the .NET 2.0 Framework and Visual Studio 2005. I think Jesse does a pretty good job at hitting the important topics developers need to know, and his writing style makes for an interesting read.
The book wastes no time in jumping right into generics, one of the most interesting new features coming in .NET 2.0 and one of the most useful. The book gives some good examples and a well-written overview of the technology, although those developers unfamiliar with the concept would probably do well to read a bit more elsewhere. Most of the other new language feature is covered, such as partial classes, nullable types and anonymous methods. I think the book does a pretty good job at getting across the point of these features with some clear examples and highlighting the most important concepts developers need to grasp to use them.