From the Back Cover
The authoritative DEITEL LIVE-CODE introduction to Windows®, .NET, Internet and World Wide Web programming in C#
This new book by the world's leading programming-language textbook authors carefully explains how to use C#the premier language in Microsoft's .NET initiativeas a general-purpose programming language, and how to develop multi-tier, client/server, data-base-intensive, Internet- and Web-based applications.
Dr. Harvey M. Deitel and Paul J. Deitel are the founders of Deitel & Associates, Inc., the internationally-recognized corporate-training and content-creation organization specializing in C#, Visual Basic® .NET, Visual C++® .NET, Java, C++, C, XML, Python, Perl; Internet, Web, wireless, e-business and object technologies. The Deitels are the authors of several worldwide #1 programming-language textbooks, including Java How to Program, 4/e, C++ How to Program, 3/e and Internet & World Wide Web How to Program, 2/e.
In C# How to Program the Deitels and their colleagues, Jeff Listfield, Tem. R. Nieto, Cheryl Yaeger and Marina Zlatkina, discuss topics you need to build complete .NET, Web-based applications. Key topics include:
- .NET Introduction/IDE/Debugger
- Web Services/ASP.NET
- Control Structures/Methods/Properties
- Classes/Data Abstraction
- Arrays/Data Structures/Collections
- Database/ADO .NET/SQL
- Web Forms/Web Controls/Accessibility
- Files/Streams/Strings/Regular Expressions
- Operator Overloading/COM Integration
- Bit and Character Manipulation/Unicode®
C# How to Program includes extensive pedagogic features:
- Hundreds of LIVE-CODE programs with screen captures that show exact outputs
- Internet and World Wide Web resources to encourage further research
- Hundreds of tips, recommended practices and cautionsall marked with icons
C# How to Program is the centerpiece of a complete family of resources for teaching and learning C#, including several Web sites (www.deitel.com, www.prenhall.com/deitel and www.InformIT.com/deitel) with the book's source-code examples (which are also on the enclosed CD) and other information for faculty, students and professionals; an optional interactive CD (C# Multimedia Cyber Classroom) containing hyperlinks, solutions to half the book's exercises and audio walkthroughs of the book's code examples; and e-mail access to the authors at:
For information on worldwide Deitel on-site seminars and to subscribe to the Deitel Buzz e-mail newsletter, visit:
Excerpt. © Reprinted by permission. All rights reserved.
Live in fragments no longer. Only connect.
Edward Morgan Forster
We wove a web in childhood,
A web of sunny air.
Welcome to C# and the world of Windows, Internet and World-Wide-Web programming with Visual Studio and the .NET platform! This book is the second in our new .NET How to Program series, which presents various leading-edge computing technologies in the context of the .NET platform.
C# is the next phase in the evolution of C and C++ and was developed expressly for Microsoft's .NET platform. C# provides the features that are most important to programmers, such as object-oriented programming, strings, graphics, graphical-user-interface (GUI) components, exception handling, multithreading, multimedia (audio, images, animation and video), file processing, prepackaged data structures, database processing, Internet and World-Wide-Web-based client/server networking and distributed computing. The language is appropriate for implementing Internet- and World-Wide-Web-based applications that seamlessly integrate with PC-based applications.
The .NET platform offers powerful capabilities for software development and deployment, including independence from a specific language or platform. Rather than requiring developers to learn a new programming language, programmers can contribute to the same software project, but write code using any (or several) of the .NET languages (such as Visual Basic .NET, Visual C++ .NET, C# and others) with which they are most competent. In addition to providing language independence, .NET extends program portability by enabling .NET applications to reside on, and communicate across, multiple platformsthus facilitating the delivery of Web services over the Internet. .NET enables Web-based applications to be distributed to consumer-electronic devices, such as cell phones and personal digital assistants, as well as to desktop computers. The capabilities that Microsoft has incorporated into the .NET platform create a new software-development paradigm that will increase programmer productivity and decrease development time.
New Features in C# How to Program
This edition contains many new features and enhancements, including:
- Two-Color Presentation. This book is in two color. Two color enables readers to see sample outputs similar to how they would appear on a color monitor. Also, we syntax color the C# code similar to the way Visual Studio .NET colors the code in its editor window. Our syntax-coloring conventions are as follows:
- literal values
- text, class, method and variable names
- "Code Washing." This is our term for the process we use to format the programs in the book so that they have a carefully commented, open layout. The code appears in full color and grouped into small, well-documented pieces. This greatly improves code readabilityan especially important goal for us, considering that this book contains approximately 23,500 lines of code.
- Web Services and ASP.NET. Microsoft's .NET strategy embraces the Internet and Web as integral to the software development and deployment processes. Web servicesa key technology in this strategyenables information sharing, commerce and other interactions using standard Internet protocols and technologies, such as Hypertext Transfer Protocol (HTTP), Simple Object Access Protocol (SOAP) and Extensible Markup Language (XML). Web services enable programmers to package application functionality in a form that turns the Web into a library of reusable software components. In Chapter 21, ASP .NET and Web Services, we present a Web service that allows users to make airline seat reservations. In this example, a user accesses a Web page, chooses a seating option and submits the page to the Web server. The page then calls a Web service that checks seat availability. We also present information relating to Web services in Appendix P, Crystal Reports® for Visual Studio® .NET, which discusses popular reporting software for database-intensive Visual Basic .NET applications. Crystal Reports, which is integrated into Visual Studio .NET, provides the ability to expose a report as a Web service. The appendix provides introductory information and then directs readers to a walkthrough of this process on the Crystal Decisions Web site (www.crystaldecisions.com/net).
- Web Forms, Web Controls and ASP.NET. Applications developers must be able to create robust, scalable Web-based applications. The .NET platform architecture supports such applications. Microsoft's .NET server-side technology, Active Server Pages (ASP) .NET, allows programmers to build Web documents that respond to client requests. To enable interactive Web pages, server-side programs process information users input into HTML forms. ASP .NET is a significant departure from previous versions of ASP, allowing developers to program Web-based applications using the powerful object-oriented languages of .NET. ASP .NET also provides enhanced visual programming capabilities, similar to those used in building Windows forms for desktop programs. Programmers can create Web pages visually, by dragging and dropping Web controls onto a Web form. Chapter 20, ASP .NET, Web Forms and Web Controls, introduces these powerful technologies.
- Object-Oriented Programming. Object-oriented programming is the most widely employed technique for developing robust, reusable software, and C# offers enhanced object-oriented programming features. This text offers a rich presentation of object-oriented programming. Chapter 8, Object-Based Programming, introduces how to create classes and objects. These concepts are extended in Chapter 9, Object-Oriented Programming: Inheritance, which discusses how programmers can create new classes that "absorb" the capabilities of existing classes. Chapter 10, Object-Oriented Programming: Polymorphismfamiliarizes the reader with the crucial concepts of polymorphism, abstract classes, concrete classes and interfaces, which facilitate powerful manipulations among objects belonging to an inheritance hierarchy.
- XML. Use of Extensible Markup Language (XML) is exploding in the software-development industry, the e-business and e-commerce communities, and is pervasive throughout the .NET platform. Because XML is a platform-independent technology for describing data and for creating markup languages, XML's data portability integrates well with Visual Basic C#'s portable applications and services. Chapter 18, Extensible Markup Language (XML) introduces XML. In this chapter, we introduce basic XML markup and discuss the technologies such as DTDs and Schema, which are used to validate XML documents' contents. We also explain how to programmatically manipulate XML documents using the Document Object Model (DOM) and how to transform XML documents into other types of documents via Extensible Stylesheet Language Transformations (XSLT).
- Multithreading. Computers enable us to perform many tasks in parallel (or concurrently), such as printing documents, downloading files from a network and surfing the Web. Multithreading is the technology through which programmers can develop applications that perform concurrent tasks. Historically, a computer has contained a single, expensive processor, which its operating system would share among all applications. Today, processors are becoming so inexpensive that it is possible to build affordable computers containing many processors that work in parallelsuch computers are called multiprocessors. Multithreading is effective on both single-processor and multiprocessor systems. C#s multithreading capabilities make the platform and its related technologies better prepared to deal with today's sophisticated multimedia-intensive, database-intensive, network-based, multiprocessor-based, distributed applications. Chapter 14, Multithreading provides a detailed discussion of multithreading.
- ADO. NET. Databases store vast amounts of information that individuals and organizations must access to conduct business. As an evolution of Microsoft's ActiveX Data Objects (ADO), ADO .NET represents a new approach for building applications that interact with databases. ADO .NET uses XML and an enhanced object model to provide developers with the tools they need to access and manipulate databases for large-scale, extensible, mission-critical multi-tier applications. Chapter 19, Database, SQL and ADO .NET, details the capabilities of ADO .NET and the Structured Query Language (SQL) to manipulate databases.
- Visual Studio .NET Debugger. Debuggers are programs that help programmers find and correct logic errors in program code. Visual Studio .NET contains a powerful debugging tool that allows programmers to analyze their program line-byline as the program executes. In Appendix D, Visual Studio .NET Debugger, we explain how to use key debugger features, such as setting breakpoints and "watches," stepping into and out of procedures, and examining the procedure call stack.
- COM (Component Object Model) Integration. Prior to the introduction of .NET, many organizations spent tremendous amounts of time and money creating reusable software components called COM components, which include ActiveX® controls and ActiveX DLLs (dynamic link libraries) for Windows applications. Visual Basic programmers traditionally have been the largest group of COM component users. In the appendix, COM Integration, we discuss some of the tools available in Visual Studio .NET for integrating these legacy components into .NET applications. This integration allows programmers to use existing sets of COM-based controls with .NET components.
- XML Documentation. Documenting program code is crucial for software dev...