| Acknowledgments | | xix | |
| Introduction | | xxi | |
| |
| Introduction to Visual C# Programming |
| | 3 | |
| | 4 | |
| C# Core Language Features |
| | 7 | |
| | 7 | |
| | 25 | |
| | 29 | |
| | 30 | |
| | 31 | |
| | 35 | |
| | 36 | |
| | 37 | |
| | 38 | |
| | 38 | |
| | 41 | |
| | 44 | |
| | 45 | |
| | 46 | |
| | 48 | |
| | 54 | |
| | 76 | |
| | 77 | |
| | 79 | |
| Identity versus Equivalence |
| | 80 | |
| | 81 | |
| | 83 | |
| | 88 | |
| | 90 | |
| | 92 | |
| Object.GetHashCode Method |
| | 93 | |
| | 93 | |
| | 94 | |
| Object.MemberwiseClone Method |
| | 94 | |
| Object.ReferenceEquals Method |
| | 95 | |
| | 96 | |
| | 98 | |
| | 98 | |
| | 99 | |
| Virtual and Override Keywords |
| | 99 | |
| | 100 | |
| | 101 | |
| | 102 | |
| | 106 | |
| | 107 | |
| Constructors and Destructors |
| | 108 | |
| | 111 | |
| | 113 | |
| Explicit Interface Member Implementation |
| | 115 | |
| Reimplementation of Interfaces |
| | 119 | |
| | 119 | |
| | 123 | |
| New Modifier and Polymorphism |
| | 124 | |
| | 125 | |
| | 128 | |
| | 130 | |
| | 131 | |
| |
| Introduction to Visual Studio 2005 |
| | 135 | |
| Integrated Development Environment |
| | 136 | |
| | 136 | |
| | 137 | |
| | 137 | |
| | 138 | |
| | 141 | |
| | 141 | |
| Managing Windows in Visual Studio |
| | 142 | |
| | 143 | |
| | 139 | |
| | 143 | |
| | 144 | |
| | 145 | |
| | 149 | |
| | 147 | |
| Class Diagram Walkthrough |
| | 151 | |
| | 156 | |
| | 156 | |
| | 156 | |
| | 158 | |
| Font and Color Formatting |
| | 158 | |
| | 159 | |
| | 159 | |
| | 160 | |
| | 160 | |
| | 161 | |
| | 162 | |
| | 163 | |
| | 165 | |
| | 166 | |
| | 171 | |
| | 173 | |
| | 176 | |
| | 176 | |
| | 177 | |
| | 177 | |
| | 178 | |
| | 179 | |
| | 180 | |
| | 182 | |
| Publish a ClickOnce Application |
| | 185 | |
| | 186 | |
| | 187 | |
| | 189 | |
| | 191 | |
| | 191 | |
| | 194 | |
| | 196 | |
| | 203 | |
| | 211 | |
| | 213 | |
| | 214 | |
| | 215 | |
| | 219 | |
| | 222 | |
| | 226 | |
| | 231 | |
| | 232 | |
| | 233 | |
| | 235 | |
| | 238 | |
| | 239 | |
| | 243 | |
| | 243 | |
| | 244 | |
| This Reference for Generic Types |
| | 246 | |
| | 246 | |
| | 248 | |
| | 252 | |
| | 254 | |
| Reference Type Constraint |
| | 254 | |
| Default Constructor Constraint |
| | 255 | |
| | 256 | |
| | 257 | |
| | 258 | |
| | 259 | |
| | 260 | |
| | 261 | |
| | 263 | |
| | 265 | |
| | 266 | |
| | 267 | |
| | 269 | |
| | 270 | |
| | 278 | |
| | 283 | |
| | 291 | |
| Part III More C# Language |
| |
| | 295 | |
| | 296 | |
| | 297 | |
| | 298 | |
| | 300 | |
| | 300 | |
| | 307 | |
| Asynchronous Delegate Diagram |
| | 311 | |
| | 312 | |
| | 313 | |
| | 316 | |
| Generic Anonymous Methods |
| | 318 | |
| Limitations of Anonymous Methods |
| | 318 | |
| | 319 | |
| | 319 | |
| | 320 | |
| | 321 | |
| | 323 | |
| | 325 | |
| | 326 | |
| | 327 | |
| Structured Exception Handling |
| | 327 | |
| | 327 | |
| | 329 | |
| | 332 | |
| Exception Information Table |
| | 333 | |
| | 333 | |
| | 335 | |
| System.Exception Functions |
| | 336 | |
| System.Exception Properties |
| | 337 | |
| | 338 | |
| | 340 | |
| COM Interoperability Exceptions |
| | 341 | |
| | 345 | |
| | 347 | |
| Application.ThreadException |
| | 348 | |
| AppDomain.UnhandledException |
| | 349 | |
| Managing Exceptions in Visual Studio |
| | 351 | |
| | 351 | |
| | 351 | |
| | 352 | |
| |
| | 355 | |
| | 355 | |
| | 357 | |
| | 358 | |
| | 358 | |
| | 359 | |
| | 360 | |
| | 364 | |
| | 365 | |
| | 367 | |
| Browsing Type Information |
| | 370 | |
| | 373 | |
| | 378 | |
| | 380 | |
| Function Call Performance |
| | 383 | |
| | 383 | |
| IsGeneric and IsGenericTypeDefinition |
| | 383 | |
| | 384 | |
| | 384 | |
| | 385 | |
| | 386 | |
| | 387 | |
| | 388 | |
| | 389 | |
| Creating a Custom Attribute |
| | 392 | |
| Attributes and Reflection |
| | 396 | |
| | 399 | |
| | 401 | |
| ``Hello World'' Application |
| | 403 | |
| | 405 | |
| | 406 | |
| | 417 | |
| | 423 | |
| | 428 | |
| | 429 | |
| | 433 | |
| Debugging with Visual Studio 2005 |
| | 436 | |
| Debugging with Visual Studio 2005 |
| | 437 | |
| | 438 | |
| Debugging Windows Forms Projects |
| | 438 | |
| | 441 | |
| | 443 | |
| Visual Studio Debugging User Interface |
| | 450 | |
| | 453 | |
| | 461 | |
| | 464 | |
| | 464 | |
| | 476 | |
| | 492 | |
| | 496 | |
| | 498 | |
| | 499 | |
| DebuggableAttribute Attribute |
| | 501 | |
| | 503 | |
| Just-In-Time (JIT) Debugging |
| | 504 | |
| | 506 | |
| | 511 | |
| | 512 | |
| | 513 | |
| | 519 | |
| | 520 | |
| | 523 | |
| | 525 | |
| | 525 | |
| | 527 | |
| | 530 | |
| | 531 | |
| | 534 | |
| | 537 | |
| | 538 | |
| | 539 | |
| | 541 | |
| | 546 | |
| | 547 | |
| | 548 | |
| | 549 | |
| | 550 | |
| |
| | 553 | |
| | 554 | |
| Garbage Collection Overview |
| | 555 | |
| | 559 | |
| Workstation GC Without Concurrent Garbage Collection |
| | 560 | |
| | 560 | |
| | 562 | |
| | 577 | |
| | 581 | |
| Disposable Pattern Considerations |
| | 582 | |
| | 586 | |
| | 588 | |
| | 591 | |
| | 591 | |
| Critical Finalization Objects |
| | 592 | |
| Constrained Execution Region |
| | 592 | |
| Managing Unmanaged Resources |
| | 595 | |
| | 598 | |
| | 598 | |
| | 601 | |
| | 603 | |
| | 604 | |
| Pointer Parameters and Return |
| | 608 | |
| | 611 | |
| | 625 | |
| Appendix: Operator Overloading |
| | 627 | |
| Mathematical and Logical Operators |
| | 628 | |
| | 629 | |
| Increment and Decrement Operators |
| | 632 | |
| LeftShift and RightShift Operators |
| | 633 | |
| Operator True and Operator False |
| | 634 | |
| | 635 | |
| | 639 | |
| | 641 | |
| | 642 | |
| Operator Overloading Internals |
| | 645 | |
| Index | | 649 | |