To ensure that Programming C# is accurate, complete, and targeted at the needs and interests of professional programmers, I enlisted the help of some of the brightest programmers I know, including Donald Xie, Dan Hurwitz, Seth Weiss, Sue Lynch, Cliff Gerald, and Tom Petr. Jim Culbert not only reviewed the book and made extensive suggestions, but continually pointed me back at the practical needs of working programmers. Jim's contributions to this book cannot be overstated.
Mike Woodring of Developmentor taught me more about the CLR in a week than I could have learned on my own in six months. A number of folks at Microsoft and O'Reilly helped me wrestle with the twin beasts of C# and .NET, including (but not limited to) Eric Gunnerson, Rob Howard, Piet Obermeyer, Jonathan Hawkins, Peter Drayton, Brad Merrill, and Ben Albahari. Susan Warren may be one of the most amazing programmers I've ever met; her help and guidance is deeply appreciated.
Brian Bischof's help was key in providing tips for developers migrating from Visual Basic 6.
Thanks also to Kent Quirk the Game Architect for CogniToy who has been programming for longer than the lifetimes of C++ and Java combined for his help with tips and notes for C++ and Java programmers.
John Osborn signed me to O'Reilly, for which I will forever be in his debt. Valerie Quercia, Claire Cloutier, and Tatiana Diaz helped make this book better than what I'd written. Rob Romano created a number of the illustrations and improved the others. Tim O'Reilly provided support and resources, and I'm grateful.
Many readers have written to point out typos and minor errors in the first edition. Their effort is very much appreciated, with special thanks to Sol Bick, Brian Cassel, Steve Charbonneau, Randy Eastwood, Andy Gaskall, Bob Kline, Jason Mauss, Mark Phillips, Christian Rodriguez, David Solum, Erwing Steininger, Steve Thomson, Greg Torrance, and Ted Volk. We've worked hard to fix all of these errors in this third edition. We've scoured the book to ensure that no new errors were added, and that all of the code compiles and runs properly with the latest release edition of Visual Studio .NET. That said, if you do find errors, please check the errata on my web site (http://www.LibertyAssociates.com) and if your error is new, please send me email at firstname.lastname@example.org.
A special thank you to Wei Meng Lee, who was instrumental in producing the third edition of this guide. He reviewed the entire manuscript and tested the code against .NET 1.1, as well as updated much of the text and images. Many thanks to Wei Meng.