| | | Copyright |
| | | Preface |
| | | | About This Book |
| | | | What You Need To Use This Book |
| | | | How the Book Is Organized |
| | | | Who This Book Is For |
| | | | C# 2.0 Versus C# 1.1 |
| | | | C# Versus Visual Basic .NET |
| | | | C# Versus Java |
| | | | C# Versus C and C++ |
| | | | Conventions Used in This Book |
| | | | Support |
| | | | We'd Like to Hear from You |
| | | | Safari Enabled |
| | | | Acknowledgments |
| | | Part I: The C# Language |
| | | | Chapter 1. C# and the .NET Framework |
| | | | Section 1.1. The .NET Platform |
| | | | Section 1.2. The .NET Framework |
| | | | Section 1.3. Compilation and the MSIL |
| | | | Section 1.4. The C# Language |
| | | | Chapter 2. Getting Started: "Hello World" |
| | | | Section 2.1. Classes, Objects, and Types |
| | | | Section 2.2. Developing "Hello World" |
| | | | Section 2.3. Using the Visual Studio .NET Debugger |
| | | | Chapter 3. C# Language Fundamentals |
| | | | Section 3.1. Types |
| | | | Section 3.2. Variables and Constants |
| | | | Section 3.3. Expressions |
| | | | Section 3.4. Whitespace |
| | | | Section 3.5. Statements |
| | | | Section 3.6. Operators |
| | | | Section 3.7. Preprocessor Directives |
| | | | Chapter 4. Classes and Objects |
| | | | Section 4.1. Defining Classes |
| | | | Section 4.2. Creating Objects |
| | | | Section 4.3. Using Static Members |
| | | | Section 4.4. Destroying Objects |
| | | | Section 4.5. Passing Parameters |
| | | | Section 4.6. Overloading Methods and Constructors |
| | | | Section 4.7. Encapsulating Data with Properties |
| | | | Section 4.8. readonly Fields |
| | | | Chapter 5. Inheritance and Polymorphism |
| | | | Section 5.1. Specialization and Generalization |
| | | | Section 5.2. Inheritance |
| | | | Section 5.3. Polymorphism |
| | | | Section 5.4. Abstract Classes |
| | | | Section 5.5. The Root of All Classes: Object |
| | | | Section 5.6. Boxing and Unboxing Types |
| | | | Section 5.7. Nesting Classes |
| | | | Chapter 6. Operator Overloading |
| | | | Section 6.1. Using the operator Keyword |
| | | | Section 6.2. Supporting Other .NET Languages |
| | | | Section 6.3. Creating Useful Operators |
| | | | Section 6.4. Logical Pairs |
| | | | Section 6.5. The Equality Operator |
| | | | Section 6.6. Conversion Operators |
| | | | Chapter 7. Structs |
| | | | Section 7.1. Defining Structs |
| | | | Section 7.2. Creating Structs |
| | | | Chapter 8. Interfaces |
| | | | Section 8.1. Defining and Implementing an Interface |
| | | | Section 8.2. Accessing Interface Methods |
| | | | Section 8.3. Overriding Interface Implementations |
| | | | Section 8.4. Explicit Interface Implementation |
| | | | Chapter 9. Arrays, Indexers, and Collections |
| | | | Section 9.1. Arrays |
| | | | Section 9.2. The foreach Statement |
| | | | Section 9.3. Indexers |
| | | | Section 9.4. Collection Interfaces |
| | | | Section 9.5. Constraints |
| | | | Section 9.6. List<T> |
| | | | Section 9.7. Queues |
| | | | Section 9.8. Stacks |
| | | | Section 9.9. Dictionaries |
| | | | Chapter 10. Strings and Regular Expressions |
| | | | Section 10.1. Strings |
| | | | Section 10.2. Regular Expressions |
| | | | Chapter 11. Handling Exceptions |
| | | | Section 11.1. Throwing and Catching Exceptions |
| | | | Section 11.2. Exception Objects |
| | | | Section 11.3. Custom Exceptions |
| | | | Section 11.4. Rethrowing Exceptions |
| | | | Chapter 12. Delegates and Events |
| | | | Section 12.1. Delegates |
| | | | Section 12.2. Multicasting |
| | | | Section 12.3. Events |
| | | | Section 12.4. Using Anonymous Methods |
| | | | Section 12.5. Retrieving Values from Multicast Delegates |
| | | Part II: Programming with C# |
| | | | Chapter 13. Building Windows Applications |
| | | | Section 13.1. Creating a Simple Windows Form |
| | | | Section 13.2. Creating a Windows Forms Application |
| | | | Section 13.3. XML Documentation Comments |
| | | | Chapter 14. Accessing Data with ADO.NET |
| | | | Section 14.1. Relational Databases and SQL |
| | | | Section 14.2. The ADO.NET Object Model |
| | | | Section 14.3. Getting Started with ADO.NET |
| | | | Section 14.4. Using OLE DB Managed Providers |
| | | | Section 14.5. Working with Data-Bound Controls |
| | | | Chapter 15. Programming ASP.NET Applications and Web Services |
| | | | Section 15.1. Understanding Web Forms |
| | | | Section 15.2. Creating a Web Form |
| | | | Section 15.3. Adding Controls |
| | | | Section 15.4. Data Binding |
| | | | Section 15.5. Web Services |
| | | | Section 15.6. SOAP, WSDL, and Discovery |
| | | | Section 15.7. Building a Web Service |
| | | | Section 15.8. Creating the Proxy |
| | | | Chapter 16. Putting It All Together |
| | | | Section 16.1. The Overall Design |
| | | | Section 16.2. Creating the Web Services Client |
| | | | Section 16.3. Displaying the Output |
| | | | Section 16.4. Searching by Category |
| | | Part III: The CLR and the .NET Framework |
| | | | Chapter 17. Assemblies and Versioning |
| | | | Section 17.1. PE Files |
| | | | Section 17.2. Metadata |
| | | | Section 17.3. Security Boundary |
| | | | Section 17.4. Manifests |
| | | | Section 17.5. Multimodule Assemblies |
| | | | Section 17.6. Private Assemblies |
| | | | Section 17.7. Shared Assemblies |
| | | | Chapter 18. Attributes and Reflection |
| | | | Section 18.1. Attributes |
| | | | Section 18.2. Reflection |
| | | | Chapter 19. Marshaling and Remoting |
| | | | Section 19.1. Application Domains |
| | | | Section 19.2. Context |
| | | | Section 19.3. Remoting |
| | | | Chapter 20. Threads and Synchronization |
| | | | Section 20.1. Threads |
| | | | Section 20.2. Synchronization |
| | | | Section 20.3. Race Conditions and Deadlocks |
| | | | Chapter 21. Streams |
| | | | Section 21.1. Files and Directories |
| | | | Section 21.2. Reading and Writing Data |
| | | | Section 21.3. Asynchronous I/O |
| | | | Section 21.4. Network I/O |
| | | | Section 21.5. Web Streams |
| | | | Section 21.6. Serialization |
| | | | Section 21.7. Isolated Storage |
| | | | Chapter 22. Programming .NET and COM |
| | | | Section 22.1. Importing ActiveX Controls |
| | | | Section 22.2. Importing COM Components |
| | | | Section 22.3. Exporting .NET Components |
| | | | Section 22.4. P/Invoke |
| | | | Section 22.5. Pointers |
| | | Appendix A. C# Keywords |
| | | Colophon |
| | | Index |