This book is for those who may have no prior knowledge of C#, but some general programming experience is necessary. If you're already familiar with C# 2.0, you'll find more than a hundred pages dedicated to LINQ and other new C# 3.0 features. In addition, many other chapters are designed to add to your existing knowledge of C# and the core Framework. If you're looking for a book that skims every NET Framework technology, this is not for you.
The first three chapters after the introduction are solely about C#. This section starts with syntax, types, and variables. It concludes with advanced topics such as unsafe code and preprocessor directives. Sections that apply only to C# 3.0 are clearly marked as such. If you're new to the language, you should read these chapters sequentially, with the exception of Chapter 4, whose sections can be read in any order. The remaining chapters cover the core NET Framework, which includes such topics as collections, LINQ, XML, streams, networking, reflection, security, threading, application domains, working with native DLLs, and diagnostics. You can read most of these chapters randomly, except for Chapter 6, Chapter 7, and Chapter 13, which lay a foundation for subsequent topics. The three chapters on LINQ are also best read in sequence.
The examples in this book require a C# 3.0 (or 2.0) compiler in conjunction with the Microsoft NET Framework 3.5 (or 3.0/2.0). You will also require Microsoft's NET documentation. The easiest way to get all three along with an integrated development environment is to install Microsoft Visual Studio. Any edition is suitable for what's taught in this book, including Visual Studio Express, which is currently a free download. Visual Studio also includes an express edition of SQL Server, required to run the LINQ to SQL examples, and IntelliSense, which pops up type member listings as you type.
Another option, if you don't mind using a plain-text editor and building at the command line, is to download the NET Framework SDK. This includes the compiler, NET documentation, and additional command-line tools. The lightest option is to download and install just the Microsoft NET Framework Runtime. This includes the command-line compiler; however, it doesn't include other command-line tools or any documentation. The table of contents, not currently shown as part of the product description, is shown next.
Chapter 1. Introducing C# and the NET Framework
Chapter 2. C# Language Basics
Chapter 3. Creating Types in C#
Chapter 4. Advanced C#
Chapter 5. Framework Overview
Chapter 6. Framework Fundamentals
Chapter 7. Collections
Chapter 8. LINQ Queries
Chapter 9. LINQ Operators
Chapter 10. LINQ to XML
Chapter 11. Other XML Technologies
Chapter 12. Disposal and Garbage Collection
Chapter 13. Streams and I/O
Chapter 14. Networking
Chapter 15. Serialization
Chapter 16. Assemblies
Chapter 17. Reflection and Metadata
Chapter 18. Security
Chapter 19. Threading
Chapter 20. Asynchronous Methods
Chapter 21. Application Domains
Chapter 22. Integrating with Native DLLs
Chapter 23. Diagnostics
Chapter 24. Regular Expressions
Appendix A. C# Keywords
Appendix B. Namespace-to-Assembly Reference