| Acknowledgments | ix |
| Introduction | xi |
| Minimum System Requirements xi / Finding Your Best Starting Point in This Book xii / Corrections, Comments, and Help xiv / Visit the Microsoft Press Web Site xiv / Installing and Using the Practice Files xv / Conventions and Features in This Book xxi | |
| PART 1 INTRODUCING MICROSOFT VISUAL C# AND VISUAL STUDIO.NET | 1 |
| CHAPTER 1 Welcome to C# | 3 |
| Beginning Programming with the Visual Studio .NET Environment 3 / Writing Your First Program 6 / Using Namespaces 11 / Creating Documentation Using XML and Comments 14 / Creating a Windows Forms Application 19 / Chapter 1 Quick Reference 28 | |
| CHAPTER 2 Working with Variables, Operators, and Expressions | 29 |
| Understanding Statements 29 / Using Identifiers 30 / Identifying Keywords 30 / Using Variables 31 / Working with Primitive Data Types 33 / Setting Arithmetic Operators 38 / Chapter 2 Quick Reference 43 | |
| CHAPTER 3 Writing Methods and Applying Scope | 45 |
| Declaring Methods 45 / Calling Methods 49 / Understanding Scope 51 / Writing and Calling Methods 54 / Chapter 3 Quick Reference 62 | |
| CHAPTER 4 Using Decision Statements | 63 |
| Declaring bool Variables 63 / Using Boolean Operators 64 / Executing if Statements 67 / Chapter 4 Quick Reference 78 | |
| CHAPTER 5 Using Iteration Statements | 79 |
| Using Compound Assignment Operators 79 / Incrementing and Decrementing Variables 81 / Writing while Statements 81 / Writing for Statements 83 / Writing do Statements 85 / Chapter 5 Quick Reference 98 | |
| CHAPTER 6 Managing Errors and Exceptions | 99 |
| Coping with Errors 100 / Trying Code and Catching Exceptions 101 / Using Multiple catch Handlers 102 / Writing a General catch Handler 103 / Using Checked and Unchecked Integer Arithmetic 107 / Throwing Exceptions 112 / Writing a finally block 118 / Chapter 6 Quick Reference 121 | |
| PART 2 UNDERSTANDING THE C# LANGUAGE | 123 |
| CHAPTER 7 Creating and Managing Classes and Objects | 125 |
| What Is Classification? 125 / What Is Encapsulation? 126 / Controlling Accessibility 127 / Working with Constructors and the new Keyword 129 / Understanding static Methods and Data 139 / Chapter 7 Quick Reference 144 | |
| CHAPTER 8 Understanding Values and References | 147 |
| Copying int Variables and Classes 147 / Using ref and out Parameters 152 / What Are the Stack and the Heap? 155 / What Is System.Object? 157 / Boxing 159 / Unboxing 160 / Chapter 8 Quick Reference 163 | |
| CHAPTER 9 Creating Value Types with Enumerations and Structs | 165 |
| Working with Enumerations 165 / Working with struct Types 170 / Chapter 9 Quick Reference 182 | |
| CHAPTER 10 Using Arrays and Collections | 183 |
| What is an Array? 183 / What Are Collection Classes? 192 / Chapter 10 Quick Reference 204 | |
| CHAPTER 11 Understanding Parameter Arrays | 205 |
| Creating Overloaded Methods 205 / Using Array Arguments 206 / Chapter 11 Quick Reference 218 | |
| CHAPTER 12 Working with Inheritance | 219 |
| What Is Inheritance? 219 / Understanding Core Syntax 220 / Creating Interfaces 226 / Working with Multiple Interfaces 239 / Summarizing Keyword Combinations 242 / Chapter 12 Quick Reference 243 | |
| CHAPTER 13 Using Garbage Collection and Resource Management | 245 |
| Garbage Collection 245 / Resource Management 250 / Chapter 13 Quick Reference 259 | |
| PART 3 CREATING COMPONENTS | 261 |
| CHAPTER 14 Implementing Properties to Access Attributes | 263 |
| Comparing Fields and Methods 263 / What Are Properties? 265 / Understanding the Property Restrictions 268 / Using Static Properties 269 / Declaring Interface Properties 271 / Chapter 14 Quick Reference 277 | |
| CHAPTER 15 Using Indexers | 279 |
| What Is an Indexer? 279 / Interface Indexers 286 / Using Indexers in a Windows Application 287 / Chapter 15 Quick Reference 291 | |
| CHAPTER 16 Delegates and Events | 293 |
| Using Delegate Declarations and Instances 293 / Enabling Notifications with Events 302 / Chapter 16 Quick Reference 309 | |
| CHAPTER 17 Operator Overloading | 311 |
| Working with Operators 311 / Declaring Conversion Operators 321 / Chapter 17 Quick Reference 326 | |
| PART 4 WORKING WITH WINDOWS APPLICATIONS | 327 |
| CHAPTER 18 Introducing Windows Forms | 329 |
| Creating Your Application 330 / Adding Controls to the Form 338 / Publishing Events in Windows Forms 345 / Chapter 18 Quick Reference 350 | |
| CHAPTER 19 Working with Menus | 351 |
| Menu Guidelines and Style 351 / Adding Menus and Processing Menu Events 352 / Pop-Up Menus 360 / Chapter 19 Quick Reference 364 | |
| CHAPTER 20 Performing Validation | 365 |
| Validating Data 365 / An ExampleCustomer Maintenance 366 / Chapter 20 Quick Reference 377 | |
| CHAPTER 21 Using Complex Controls | 379 |
| The Explorer Interface 379 / Splitter Windows, Docking Controls, and Panels 381 / Controls for Navigating Data 385 / Chapter 21 Quick Reference | 403 |
| CHAPTER 22 Using the MDI, Windows, and Dialog Boxes | 405 |
| What Is the Multiple Document Interface? 406 / Creating Dialog Boxes 412 / Using Common Dialog Controls 416 / Chapter 22 Quick Reference 419 | |
| CHAPTER 23 Creating GUI Components | 421 |
| Working with User Controls 421 / Specializing Controls Using Subclassing 431 / Chapter 23 Quick Reference 438 | |
| PART 5 MANAGING DATA | 439 |
| CHAPTER 24 Using a Database | 441 |
| Using ADO.NET Databases 441 / Using the Northwind Traders Database 442 / Chapter 24 Quick Reference 459 | |
| CHAPTER 25 Working with Data Binding and DataSets | 461 |
| Windows Forms Controls and Data Binding 462 / Disconnected DataSets 469 / Chapter 25 Quick Reference 478 | |
| CHAPTER 26 Handling XML | 479 |
| Why XML? 479 / The Employee Timesheet System 483 / Chapter 26 Quick Reference 497 | |
| PART 6 BUILDING WEB APPLICATIONS | 499 |
| CHAPTER 27 Introducing ASP.NET | 501 |
| Understanding the Internet as an Infrastructure 502 / Creating Web Applications with ASP.NET 505 / Chapter 27 Quick Reference 522 | |
| CHAPTER 28 Understanding Validation Controls | 523 |
| Comparing Server and Client Validations 523 / Chapter 28 Quick Reference 531 | |
| CHAPTER 29 Accessing Data with Web Forms | 533 |
| Using the Web Forms DataGrid Control 533 / Managing Security 534 / Querying Data 539 / Editing Data 547 / Chapter 29 Quick Reference 553 | |
| CHAPTER 30 Building ASP.NET Applications | 555 |
| Additional Features of the DataGrid Control 555 / Navigating Between Forms 564 / Chapter 30 Quick Reference 571 | |
| CHAPTER 31 Building an XML Web Service | 573 |
| What is an XML Web Service? 573 / Building the ProductService Web Service 578 / Chapter 31 Quick Reference 590 | |
| CHAPTER 32 Consuming a Web Service | 591 |
| Web Services, Clients, and Proxies 591 / Chapter 32 Quick Reference 602 | |
| ABOUT THE AUTHORS | 603 |
| INDEX | 605 |