Part I: C# Language Fundamentals This first part of the book provides a brief overview of the C family of programming languages and moves to discuss basic syntax issues with C#. Variables, statements, flow control loops, and method calls are all discussed. First-time developers will also find a discussion of the usage of these syntax elements and will be able to understand how to build code using these constructs. Part II: Object-Oriented Programming with C# The chapters in Part II cover the notion of a class in C#. The class is the fundamental unit of code in a C# application, and understanding classes is key to the construction of a working C# application. Part II covers topics such as class design, base classes, derived classes, and operator overloading. Part III: Advanced C# The third part of the book focuses on specific language features employed by more advanced C# applications. Topics such as exception handling, interface implementation, namespaces, attributes, and unsafe code are all covered. The final chapter in Part III is devoted to presenting some tough programming problems and solutions implemented using C#. Part IV: Developing .NET Solutions Using C# Part IV shows how to use C# in applications that make use of various parts of the .NET Framework. This part of the book is a departure from the other sections, which are devoted to presenting the language features of C#. Part IV uses C# to build applications using a variety of .NET application platforms, from Windows forms to Web Forms to ASP.NET applications and database access. We will also take a look at working with some advanced .NET technologies using C#, including threading, assemblies, and reflection. Part V: C# and the .NET Framework The final part of the book describes how C# can be used to work with the .NET Framework itself. Framework concepts such as assemblies, reflection, threading, and COM/COM+ component interoperability are explained. Each chapter explains the appropriate Framework concept and also shows how to take advantage of the technology using C# as the implementation language. Appendix The final section of the book is devoted to an appendix, XML Primer, which provides an overview of the eXtensible Markup Language (XML). It provides an overview of the history of XML and how developers can take advantage of XML to describe data in a standardized way. Many .NET projects make use of XML in one form or another, and several .NET configuration files are based on the XML infrastructure. Companion Web site This book provides a companion Web site from which you can download the code from various chapters. All the code listings reside in a single WinZip file that you can download by going to www.wiley.com/extras and selecting the C# Bible link. After you download the file, and if you have WinZip already on your system, you can open it and extract the contents by double-clicking. If you don't currently have WinZip, you can download an evaluation version from www.winzip.com.