There are only a few authors who writes about Microsoft technologies whose book you can buy without reading reviews. Francesco Balena is one of them (yes, Jeffrey Richter is another one). Both of these authors write for a particular segment of developers - those who have some programming experience and have tried some things on their own or have read some beginner's book and is ready for the serious stuff. The style is lucid, but no stone is left unturned on the topic being discussed. Both of them (Balena and Richter) also give practical coding advices which we wont find in the usual programming books. The approach is very pragmatic without losing the spirit of good programming idioms. Well, I am diverging. The point is - you dont need to read any reviews to buy a Balena book - rush to the store and get it. They are all gems.
Well, if you are still reading this and have not ordered it yet, it means you are interested in knowing a bit more about the book. This book is almost a C# port of his book Visual Basic 2005 book. The chapters go like this :
1. .NET Framework basic types - Balena speaks about the System.Object type, String types, Numeric types,DateTime type etc.
2. Object Lifetime - Memory management, Garbage collection etc.
3. Interfaces - Usage of common interfaces in .NET like IComparable, IDisposable etc.
4. Generics - Why we need Generics, how to write generic code and some advanced topics like support for Math operators.
5. Arrays and Collections - The different types of arrays, overview of System.Collections namespace as well as Generic collections.
6. Regular Expressions - This is an excellent tutorial of using regular expressions in .NET
7. Files, Directories and Streams - IO in .NET is a bit confusing, this chapter might help to clear things up.
8. Assemblies and Resources - Everything u need to know about assmeblies.
9. Reflection - Working with assemblies, modules, types - retrieving information about assembly at runtime and how to use that information.
10. Custom Attributes - how to create custom attributes, shows some scenarios for using custom attributes.
11. Threads - Thread fundamentals, synchronization, Thread pool etc. This is a very nice tutorial for using Threads in .NET
12. Object serialization - Serialization techniques - both built-in and custom.
13. PInvoke and COM Interop - Nice introduction, shows how to call plain C DLLs, and COM DLLs from .NET and also calling .NET components from COM. For more details get Adam Nathan's book.
Well, that is it... Not fit as your first C# book, but if you know some C#, this is a very good book for anybody.