What is this book about?
It is no exaggeration to describe the C# language and its associated environment, the .NET Framework, as the most important new technology for developers in many years. .NET provides a new environment within which you can develop almost any Windows-based or web-based application, while C# is a new programming language designed specifically to work with .NET.
What does this book cover?
This book is the ideal introduction to the C# language and the .NET Framework, and will become an indispensable companion for any user of C# and .NET. With this book, you learn the key concepts of the C# language, and then progress onto a complete exploration of programming the .NET Framework with C#. Topics covered include the following:
- How to program in the object-oriented C# language
- Writing Windows applications and Windows services
- Writing web pages and web services with ASP.NET
- Manipulating XML using C#
- Understanding .NET Assemblies
- Using ADO.NET to access databases
- Integration with COM, COM+, and Active Directory
- Distributed applications with .NET Remoting
- Generating graphics using C#
- Accessing files and the Registry, and controlling .NET security
About the Author
Simon Robinson lives in Lancaster in the UK, where he shares a house with some students. He first encountered serious programming when he was doing his PhD in physics, modeling all sorts of weird things to do with superconductors and quantum mechanics. The experience of programming was nearly enough to put him off computers for life (though, oddly, he seems to have survived all the quantum mechanics), and he tried for a while being a sports massage therapist instead. He then realized how much money was in computers compared to sports massage, and therefore, rapidly got a job as a C++ programmer/researcher instead. Simon is clearly the charitable, deep, spiritual type, who understands the true meaning of life.
K. Scott Allen Over the last 10 years Scott Allen has designed software for Windows, embedded hardware, web applications, and massive multiplayer online games. Scott holds an MS degree in Computer Science and an MCSD certification. He lives in Hagerstown, Maryland, with his wife Vicky, and sons Alex and Christopher.
Ollie Cornes has been working with the Internet and the Microsoft platform since the early 90's. In 1999 he co-founded a business-to-business Internet company and until recently, was their Chief Technical Officer. Prior to that, his various roles involved programming, technical authoring, network management, writing, leading development projects, and consulting. He has worked with Demon Internet, Microsoft, Saab, Tesco, Travelstore, and Vodafone. Ollie has a degree in computer science and is Microsoft certified.
Jay Glynn started developing software in the late 1980's, writing applications for the Pick operating system in Pick BASIC. Since then he has created applications using Paradox PAL and Object PAL, Delphi, Pascal, C/C++, Java, VBA, and Visual Basic. Currently, Jay is a Project Coordinator and Architect for a large insurance company based in Nashville TN. For the past five years he has been developing software for pen-based computers and, more recently, for ASP and server-based systems. When not sitting in front of a keyboard, Jay is busy restoring a house in Franklin TN, playing a round of golf whenever possible, and watching Disney movies with his wife and three year old son. Jay can be reached at email@example.com.
Zach Greenvoss is a Senior Consultant with Magenic Technologies, a Microsoft Gold Certified Solution Provider and industry leader in providing custom business solutions utilizing the latest Microsoft technologies. He specializes in middle-tier architecture and implementation, utilizing various technologies including COM+, MSMQ, BizTalk, XML, and the .NET Framework. Zach's hobbies include traveling, caving, and playing his new XBox. He can be reached at firstname.lastname@example.org.
Burton Harvey builds software that elegantly fulfils users' needs. An MCSD with fifteen years' experience using Microsoft development tools, Burt is adept at a multitude of technologies including VB, COM, ASP, SQL, C#, C++, x86 assembler, UML, WML, and the Palm OS. In 1998, Burt served as the founding editor of an online journal of scientific research, Scientia. His Master's thesis, "The Outlaw Method for Solving Multimodal Functions with Parallel Genetic Algorithms", was presented at the International Conference on Evolutionary Computation, and Burt has spoken on C# at Wrox conferences in Las Vegas and Amsterdam.
Christian Nagel works as a trainer and consultant for Global Knowledge, the largest independent information technology training provider. Christian started his computing career with PDP 11 and VAX/VMS platforms. Since then he has used a variety of languages and platforms, including Pascal, C, X-Windows, Motif, C++, Java, COM/ATL, COM+, and currently C# and .NET. With his profound knowledge of Microsoft technologies – he's certified as Microsoft Certified Trainer (MCT), Solution Developer (MCSD), and Systems Engineer (MCSE) – he enjoys teaching others programming and architecting distributed solutions. As founder of the .NET User Group Austria and as MSDN Regional Director he is speaker at European conferences (TechEd, VCDC), and is contacted by many developers for coaching, consulting, and teaching customized courses and boot camps. You will find Christian's web site at http://christian.nagel.net/.
Morgan Skinner Started his computing at a tender age on a ZX80 at school, where he was underwhelmed by some code his teacher had put together and decided he could do better in assembly language. After getting hooked on Z80 (much better than those paltry three registers in 6502 land!) he graduated through the school ZX81s to ZX Spectrum. He has used all sorts of languages and platforms, including VAX Macro Assembler (way cool!), Pascal, Modula2, Smalltalk, x86 assembly language, PowerBuilder, C/C++, Visual Basic, and currently C#. He has managed to stay in the same company for nearly 12 years, largely down to the diversity of the job and a good working environment.
Karli Watson is an in-house author for Wrox Press with a penchant for multicolored clothing. He started out with the intention of becoming a world famous nanotechnologist, so perhaps one day you might recognize his name as he receives a Nobel Prize. For now, though, Karli's computing interests include all things mobile, and upcoming technologies such as C#. He can often be found preaching about these technologies at conferences, as well as after hours in drinking establishments. Karli is also a snowboarding enthusiast, and wishes he had a cat.
Steve Danielson has been involved with programming since being introduced to the TRS-80 Model I computer in 1980 during the 6th grade, and began programming for Microsoft Windows with the release of Visual Basic 3.0. He is currently the Director of Architecture and Technology for Zeris Interactive, where he develops distributed applications for Zeris' clients using the gamut of Microsoft DNA tools and technologies.
Steve is also a private pilot and flies his Zenair CH-701 kitplane whenever he gets a chance. He lives with his family in Wake Forest, NC, and can be reached at email@example.com.
Table of Contents
Chapter 1: C# and .NET Architecture.
Chapter 2: C# Basics.
Chapter 3: Object-Oriented C#.
Chapter 4: Advanced C# Topics.
Chapter 5: C# and the Base Classes.
Chapter 6: Programming in the .NET Environment.
Chapter 7: Windows Applications.
Chapter 8: Assemblies.
Chapter 9: Data Access with .NET.
Chapter 10: Viewing .NET Data.
Chapter 11: Manipulating XML.
Chapter 12: File and Registry Operations.
Chapter 13: Working with the Active Directory.
Chapter 14: ASP.NET Pages.
Chapter 15: Web Services.
Chapter 16: User Controls and Custom Controls.
Chapter 17: COM Interoperability.
Chapter 18: COM+ Services.
Chapter 19: Graphics with GDI+.
Chapter 20: Accessing the Internet.
Chapter 21: Distributed Applications with .NET Remoting.
Chapter 22: Windows Services.
Chapter 23:.NET Security.
Appendix A: Principles of Object-Oriented Programming.
Appendix B: C# Compilation Options.