I REMEMBER A TIME years ago when I proposed a book to Apress regarding a forthcoming software SDK named Next Generation Windows Services (NGWS). As you may already know, NGWS eventually became what we now know as the . NET platform. My research of the C# programming language and the . NET platform took place in parallel with the authoring of the text. It was a fantastic project; however, I must confess that it was more than a bit nerve-wracking writing about a technology that was undergoing drastic changes over the course of its development. It pains me to recall how many chapters had to be completely destroyed and rewritten during that time. Thankfully, after many sleepless nights, the first edition of C# and the . NET Platform was published in con junction with the release of . NET Beta 2, circa the summer of 200 1. Since that point, I have been extremely happy and grateful to see that the first edition of this text was very well received by the press and, most importantly, the readers. Over the years, it was nominated as a Jolt award finalist (I lost . . . crap!) as well as the 2003 Referenceware programming book of the year (I won . . . cool!). Although the first edition of this book has enjoyed a good run, it became clear that a second edition was in order not only to account for the changes brought about with the minor release of the . I REMEMBER A TIME years ago when I proposed a book to Apress regarding a forthcoming software SDK named Next Generation Windows Services (NGWS). As you may already know, NGWS eventually became what we now know as the . NET platform. My research of the C# programming language and the . NET platform took place in parallel with the authoring of the text. It was a fantastic project; however, I must confess that it was more than a bit nerve-wracking writing about a technology that was undergoing drastic changes over the course of its development. It pains me to recall how many chapters had to be completely destroyed and rewritten during that time. Thankfully, after many sleepless nights, the first edition of C# and the . NET Platform was published in conƯ junction with the release of . NET Beta 2, circa the summer of 200 1. Since that point, I have been extremely happy and grateful to see that the first edition of this text was very well received by the press and, most importantly, the readers. Over the years, it was nominated as a Jolt award finalist (I lost ... crap!) as well as the 2003 Referenceware programming book of the year (I won ... cool!). Although the first edition of this book has enjoyed a good run, it became clear that a second edition was in orderƯ not only to account for the changes brought about with the minor release of the The first edition of thise book was released during the 2001 TechEd conference in Atlanta, Georgia. Since then, C♯ and the .NET Platform has been translated into eight different languages, nominated as a 2002 Jolt Award Finalst, and named winner of the 2003 Referenceware Excellence Awards in the best programming book category. For those of you who have read the first edition, were happy to report that the text has gone through a substantial upgrade. You will find that every chapter has been updated with additional fresh content. Several new chapters exist, including coverage of the .NET Remoting layer, core CLR atoms, and a much deeper treatment of ASP.NET. As always, the story is told using a friendly and approachable voice. If you are checking out this book for the first time, understand that this text is intended for developers who already have some experience in a modern object language. The mission of this text is to provide you with a solid foundation of the C♯ language and the key aspects of the .NET platform (assemblies, Windows Forms, Web Forms, etc.). Once you read and absorb these twenty chapters, you will be in a perfect position to apply this knowldege to your specific programming assignments, and you will be well equipped to explore the .NET universe on your own terms Front Matter....Pages i-xxxii Front Matter....Pages 1-1 The Philosophy of .NET....Pages 3-41 Building C# Applications....Pages 43-90 Front Matter....Pages 91-91 C# Language Fundamentals....Pages 93-177 Object-Oriented Programming with C#....Pages 179-229 Exceptions and Object Lifetime....Pages 231-272 Interfaces and Collections....Pages 273-319 Callback Interfaces, Delegates, and Events....Pages 321-354 Advanced C# Type Construction Techniques....Pages 355-392 Front Matter....Pages 393-393 Understanding .NET Assemblies....Pages 395-450 Processes, AppDomains, Contexts, and Threads....Pages 451-497 Type Reflection, Late Binding, and Attribute-Based Programming....Pages 499-535 Front Matter....Pages 537-537 Object Serialization and the .NET Remoting Layer....Pages 539-606 Building a Better Window (Introducing Windows Forms)....Pages 607-669 A Better Painting Framework (GDI+)....Pages 671-742 Programming with Windows Forms Controls....Pages 743-803 The System.IO Namespace....Pages 805-841 Data Access with ADO.NET....Pages 843-931 Front Matter....Pages 933-933 ASP.NET Web Pages and Web Controls....Pages 935-1021 ASP.NET Web Applications....Pages 1023-1058 XML Web Services....Pages 1059-1105 Back Matter....Pages 1107-1158