9780130461339

C# For Experienced Programmers

by ; ; ; ; ;
  • ISBN13:

    9780130461339

  • ISBN10:

    0130461334

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2003-01-01
  • Publisher: Prentice Hall Ptr
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99 Save up to $15.00
  • Buy Used
    $44.99
    Add to Cart Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

Presents important C# concepts in the context of fully tested programs, complete with syntax shading, detailed line by line descriptions and program outputs. Includes 402 programming tips that help you build applications that are portable, reusable and optimized for performance. Softcover.

Author Biography

Dr. Harvey M. Deitel and Paul J. Deitel are the founders of Deitel & Associates, Inc.

Table of Contents

Preface xxxix
Introduction to .NET and C# 1(1)
Introduction
2(1)
History of the Internet and World Wide Web
2(2)
World Wide Web Consortium (W3C)
4(1)
Extensible Markup Language (XML)
4(1)
Key Software Trend: Object Technology
5(2)
Introduction to Microsoft .NET
7(2)
C#
9(1)
.NET Framework and the Common Language Runtime
9(1)
Tour of the Book
10(9)
Summary
19(2)
Internet and World Wide Web Resources
21(1)
Introduction to the Visual Studio .NET IDE and C# Programming
22(38)
Introduction
23(1)
Visual Studio .NET Integrated Development Environment (IDE) Overview
24(3)
Menu Bar and Toolbar
27(2)
Visual Studio .NET Windows
29(4)
Solution Explorer
29(1)
Toolbox
30(1)
Properties Window
31(2)
Using Help
33(1)
Simple Program: Displaying Text and an Image
34(9)
Simple Program: Printing a Line of Text
43(9)
Arithmetic
52(1)
Decision Making: Equality and Relational Operators
53(5)
Summary
58(2)
Control Structures
60(37)
Introduction
61(1)
Control Structures
61(2)
if Selection Structure
63(1)
if/else Selection Structure
63(1)
while Repetition Structure
64(3)
Assignment Operators
67(1)
Increment and Decrement Operators
67(2)
for Repetition Structure
69(2)
Example: Using the for Structure to Compute Compound Interest
71(5)
switch Multiple-Selection Structure
76(4)
do/while Repetition Structure
80(1)
Statements break and continue
81(3)
Logical and Conditional Operators
84(4)
Introduction to Windows Application Programming
88(7)
Summary
95(2)
Methods and Arrays
97(40)
Introduction
98(1)
Methods in C#
99(1)
Method Definitions
99(7)
Argument Promotion
106(2)
C# Namespaces
108(1)
Value Types and Reference Types
109(1)
Passing Arguments: Pass-by-Value vs. Pass-by-Reference
110(4)
Scope Rules
114(3)
Recursion
117(2)
Method Overloading
119(3)
Arrays
122(1)
Declaring and Allocating Arrays
123(3)
Passing Arrays to Methods
126(1)
Passing Arrays by Value and by Reference
126(4)
Multiple-Subscripted Arrays
130(5)
foreach Repetition Structure
135(1)
Summary
136(1)
Object-Based Programming
137(55)
Introduction
138(1)
Implementing a Time Abstract Data Type with a Class
139(8)
Class Scope
147(1)
Controlling Access to Members
147(2)
Initializing Class Objects: Constructors
149(1)
Using Overloaded Constructors
150(4)
Properties
154(7)
Composition: Objects References as Instance Variables of Other Classes
161(4)
Using the this Reference
165(2)
Garbage Collection
167(1)
static Class Members
168(5)
const and readonly Members
173(2)
Indexers
175(6)
Data Abstraction and Information Hiding
181(2)
Software Reusability
183(1)
Namespaces and Assemblies
183(6)
Class View and Object Browser
189(2)
Summary
191(1)
Object-Oriented Programming: Inheritance
192(37)
Introduction
193(1)
Base Classes and Derived Classes
194(3)
protected and internal Members
197(1)
Relationship between Base Classes and Derived Classes
197(21)
Case Study: Three-Level Inheritance Hierarchy
218(3)
Constructors and Destructors in Derived Classes
221(6)
Software Engineering with Inheritance
227(1)
Summary
228(1)
Object-Oriented Programming: Polymorphism
229(55)
Introduction
230(1)
Derived-Class-Object to Base-Class-Object Conversion
230(7)
Type Fields and switch Statements
237(1)
Polymorphism Examples
238(1)
Abstract Classes and Methods
239(2)
Example: Inheriting Interface and Implementation
241(8)
sealed Classes and Methods
249(1)
Example: Payroll System Using Polymorphism
250(10)
Example: Creating and Using Interfaces
260(12)
Delegates
272(5)
Operator Overloading
277(5)
Summary
282(2)
Exception Handling
284(32)
Introduction
285(1)
Exception Handling Overview
286(3)
Example: DivideByZeroException
289(5)
NET Exception Hierarchy
294(1)
finally Block
295(8)
Exception Properties
303(5)
Programmer-Defined Exception Classes
308(4)
Handling Overflows with Operators checked and unchecked
312(2)
Summary
314(2)
Graphical User interface Concepts: Part 1
316(42)
Introduction
317(1)
Windows Forms
318(3)
Event-Handling Model
321(5)
Basic Event Handling
322(4)
Control Properties and Layout
326(4)
Labels, TextBoxes and Buttons
330(7)
GroupBoxes and Panels
337(3)
CheckBoxes and RadioButtons
340(9)
PictureBoxes
349(2)
Mouse Event Handling
351(2)
Keyboard Event Handling
353(4)
Summary
357(1)
Graphical User interface Concepts: Part 2
358(65)
Introduction
359(1)
Menus
359(9)
LinkLabels
368(4)
ListBoxes and CheckedListBoxes
372(8)
ListBoxes
375(2)
CheckedListBoxes
377(3)
ComboBoxes
380(5)
TreeViews
385(6)
ListViews
391(7)
Tab Control
398(5)
Multiple-Document-Interface (MDI) Windows
403(9)
Visual Inheritance
412(4)
User-Defined Controls
416(5)
Summary
421(2)
Multithreading
423(39)
Introduction
424(1)
Thread States: Life Cycle of a Thread
425(2)
Thread Priorities and Thread Scheduling
427(5)
Thread Synchronization and Class Monitor
432(2)
Producer/Consumer Relationship without Thread Synchronization
434(6)
Producer/Consumer Relationship with Thread Synchronization
440(9)
Producer/Consumer Relationship: Circular Buffer
449(11)
Summary
460(2)
Strings, Characters and Regular Expressions
462(48)
Introduction
463(1)
Fundamentals of Characters and Strings
463(2)
string Constructors
465(1)
String Indexer, Length Property and CopyTo Method
466(2)
Comparing Strings
468(4)
String Method GetHashCode
472(1)
Locating Characters and Substrings in Strings
473(3)
Extracting Substrings from Strings
476(1)
Concatenating Strings
477(1)
Miscellaneous String Methods
478(2)
Class StringBuilder
480(2)
StringBuilder Indexer, Length and Capacity Properties, and EnsureCapacity Method
482(2)
StringBuilder Append and AppendFormat Methods
484(4)
StringBuilder Insert, Remove and Replace Methods
488(3)
Char Methods
491(3)
Card Shuffling and Dealing Simulation
494(4)
Regular Expressions and Class Regex
498(11)
Summary
509(1)
Graphics and Multimedia
510(68)
Introduction
511(2)
Graphics Contexts and Graphics Objects
513(1)
Color Control
514(8)
Font Control
522(5)
Drawing Lines, Rectangles and Ovals
527(3)
Drawing Arcs
530(3)
Drawing Polygons and Polylines
533(4)
Advanced Graphics Capabilities
537(6)
Introduction to Multimedia
543(1)
Loading, Displaying and Scaling Images
544(2)
Animating a Series of Images
546(13)
Windows Media Player
559(3)
Microsoft Agent
562(14)
Summary
576(2)
Files and Streams
578(78)
Introduction
579(1)
Data Hierarchy
579(2)
Files and Streams
581(2)
Classes File and Directory
583(10)
Creating a Sequential-Access File
593(12)
Reading Data from a Sequential-Access File
605(11)
Random-Access Files
616(4)
Creating a Random-Access File
620(4)
Writing Data Randomly to a Random-Access File
624(5)
Reading Data Sequentially from a Random-Access File
629(5)
Case Study: A Transaction-Processing Program
634(20)
Summary
654(2)
Extensible Markup Language (XML)
656(53)
Introduction
657(1)
XML Documents
657(5)
XML Namespaces
662(3)
Document Object Model (DOM)
665(18)
Document Type Definitions (DTDs), Schemas and Validation
683(12)
Document Type Definitions
684(3)
Microsoft XML Schemas
687(3)
W3C XML Schema
690(1)
Schema Validation in C#
691(4)
Extensible Stylesheet Language and XslTransform
695(7)
Microsoft BizTalk™
702(3)
Summary
705(2)
Internet and World Wide Web Resources
707(2)
Database, SQL and ADO .NET
709(48)
Introduction
710(1)
Relational Database Model
711(1)
Relational Database Overview: Books Database
712(7)
Structured Query Language (SQL)
719(15)
Basic Select Query
719(1)
Where Clause
720(3)
Order by Clause
723(3)
Merging Data from Multiple Tables: Inner Join
726(2)
Joining Data from Tables Authors, AuthorISBN, Titles and Publishers
728(3)
Insert Statement
731(1)
Update Statement
732(1)
Delete Statement
733(1)
ADO .NET Object Model
734(1)
Programming with ADO .NET: Extracting Information from a Database
735(9)
Connecting to and Querying an Access Data Source
735(7)
Querying the Books Database
742(2)
Programming with ADO.NET: Modifying a Database
744(8)
Reading and Writing XML Files
752(3)
Summary
755(2)
ASP .NET, Web Forms and Web Controls
757(85)
Introduction
758(1)
Simple HTTP Transaction
759(2)
System Architecture
761(1)
Creating and Running a Simple Web Form Example
762(13)
Web Controls
775(21)
Text and Graphics Controls
776(4)
AdRotator Control
780(5)
Validation Controls
785(11)
Session Tracking
796(19)
Cookies
797(9)
Session Tracking with HttpSessionState
806(9)
Case Study: Online Guest Book
815(7)
Case Study: Connecting to a Database in ASP .NET
822(14)
Tracing
836(2)
Summary
838(2)
Internet and Web Resources
840(2)
ASP .NET and Web Services
842(63)
Introduction
843(1)
Web Services
844(3)
Simple Object Access Protocol (SOAP) and Web Services
847(2)
Publishing and Consuming Web Services
849(15)
Session Tracking in Web Services
864(13)
Using Web Forms and Web Services
877(6)
Case Study: Temperature Information Application
883(10)
User-Defined Types in Web Services
893(10)
Summary
903(2)
Networking: Streams-Based Sockets and Datagrams
905(36)
Introduction
906(1)
Establishing a Simple Server (Using Stream Sockets)
907(2)
Establishing a Simple Client (Using Stream Sockets)
909(1)
Client/Server Interaction with Stream-Socket Connections
910(9)
Connectionless Client/Server Interaction with Datagrams
919(5)
Client/Server Tic-Tac-Toe Using a Multithreaded Server
924(15)
Summary
939(2)
Data Structures and Collections
941(61)
Introduction
942(1)
Self-Referential Classes
942(2)
Linked Lists
944(12)
Stacks
956(5)
Queues
961(3)
Trees
964(17)
Binary Search Tree of Integer Values
966(7)
Binary Search Tree of IComparable Objects
973(8)
Collection Classes
981(19)
Class Array
981(3)
Class ArrayList
984(6)
Class Stack
990(4)
Class Hashtable
994(6)
Summary
1000(2)
Accessibility
1002(55)
Introduction
1003(1)
Regulations and Resources
1004(2)
Web Accessibility Initiative
1006(1)
Providing Alternatives for Images
1006(2)
Maximizing Readability by Focusing on Structure
1008(1)
Accessibility in Visual Studio .NET
1008(6)
Enlarging Toolbar Icons
1009(1)
Enlarging the Text
1010(1)
Modifying the Toolbox
1011(1)
Modifying the Keyboard
1011(1)
Rearranging Windows
1012(2)
Accessibility in C#
1014(6)
Accessibility in XHTML Tables
1020(4)
Accessibility in XHTML Frames
1024(1)
Accessibility in XML
1025(1)
Using Voice Synthesis and Recognition with VoiceXML™
1025(8)
CallXML™
1033(5)
JAWS® for Windows
1038(1)
Other Accessibility Tools
1039(2)
Accessibility in Microsoft® Windows® 2000
1041(12)
Tools for People with Visual Impairments
1042(2)
Tools for People with Hearing Impairments
1044(1)
Tools for Users Who Have Difficulty Using the Keyboard
1045(3)
Microsoft Narrator
1048(3)
Microsoft On-Screen Keyboard
1051(1)
Accessibility Features in Microsoft Internet Explorer
1052(1)
Summary
1053(1)
Internet and Web Resources
1054(3)
Mobile Internet Toolkit
1057(52)
Introduction
1058(1)
Mobile Internet Toolkit Client Devices
1058(2)
Introduction to the Mobile Internet Toolkit and Mobile Web Forms
1060(15)
Advanced Mobile Web Forms Controls
1075(8)
Example: Deitel Wireless Portal
1083(5)
Device-Independent Web Design Using Style Sheets and Templates
1088(13)
Consuming a Web Service from a Mobile Application
1101(6)
Summary
1107(1)
Internet and World Wide Web Resources
1108(1)
A Operator Precedence Chart 1109(2)
B Number Systems 1111(11)
Introduction
1112(3)
Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers
1115(2)
Converting Octal Numbers and Hexadecimal Numbers to Binary Numbers
1117(1)
Converting from Binary, Octal or Hexadecimal to Decimal
1117(1)
Converting from Decimal to Binary, Octal or Hexadecimal
1118(1)
Negative Binary Numbers: Two's Complement Notation
1119(1)
Summary
1120(2)
C Career Opportunities 1122(20)
Introduction
1123(1)
Resources for the Job Seeker
1124(1)
Online Opportunities for Employers
1125(5)
Posting Jobs Online
1127(2)
Problems with Recruiting on the Web
1129(1)
Diversity in the Workplace
1129(1)
Recruiting Services
1130(1)
Career Sites
1131(5)
Comprehensive Career Sites
1131(1)
Technical Positions
1132(1)
Wireless Positions
1132(1)
Contracting Online
1133(1)
Executive Positions
1134(1)
Students and Young Professionals
1135(1)
Other Online Career Services
1135(1)
Summary
1136(1)
Internet and World Wide Web Resources
1137(5)
D Visual Studio .NET Debugger 1142(18)
Introduction
1143(1)
Breakpoints
1144(2)
Examining Data
1146(3)
Program Control
1149(4)
Additional Method Debugging Capabilities
1153(2)
Additional Class Debugging Capabilities
1155(3)
Summary
1158(2)
E Generating Documentation in Visual Studio .NET 1160(19)
Introduction
1161(1)
Documentation Comments
1161(1)
Documenting C# Source Code
1162(8)
Creating Comment Web Pages
1170(2)
Creating XML Documentation Files
1172(5)
Summary
1177(2)
F ASCII Character Set 1179(1)
G Unicode® 1180(11)
Introduction
1181(1)
Unicode Transformation Formats
1182(1)
Characters and Glyphs
1183(1)
Advantages and Disadvantages of Unicode
1184(1)
Unicode Consortium's Web Site
1184(1)
Using Unicode
1185(3)
Character Ranges
1188(1)
Summary
1189(2)
H COM Integration 1191(11)
Introduction
1191(1)
ActiveX Integration
1192(4)
DLL Integration
1196(4)
Summary
1200(1)
Internet and World Wide Web Resources
1201(1)
I Introduction to HyperText Markup Language 4: Part 1 1202(20)
Introduction
1203(1)
Markup Languages
1203(1)
Editing HTML
1204(1)
Common Elements
1204(3)
Headers
1207(1)
Linking
1208(2)
Images
1210(4)
Special Characters and More Line Breaks
1214(2)
Unordered Lists
1216(1)
Nested and Ordered Lists
1217(3)
Summary
1220(1)
Internet and World Wide Web Resources
1221(1)
J Introduction to HyperText Markup Language 4: Part 2 1222(30)
Introduction
1223(1)
Basic HTML Tables
1223(2)
Intermediate HTML Tables and Formatting
1225(3)
Basic HTML Forms
1228(3)
More Complex HTML Forms
1231(7)
Internal Linking
1238(3)
Creating and Using Image Maps
1241(2)
<meta> Tags
1243(2)
frameset Element
1245(2)
Nested framesets
1247(2)
Summary
1249(2)
Internet and World Wide Web Resources
1251(1)
K Introduction to XHTML: Part 1 1252(23)
Introduction
1253(1)
Editing XHTML
1253(1)
First XHTML Example
1254(3)
W3C XHTML Validation Service
1257(1)
Headers
1258(2)
Linking
1260(3)
Images
1263(4)
Special Characters and More Line Breaks
1267(2)
Unordered Lists
1269(1)
Nested and Ordered Lists
1270(3)
Summary
1273(1)
Internet and World Wide Web Resources
1274(1)
L Introduction to XHTML: Part 2 1275(32)
Introduction
1276(1)
Basic XHTML Tables
1276(3)
Intermediate XHTML Tables and Formatting
1279(2)
Basic XHTML Forms
1281(3)
More Complex XHTML Forms
1284(8)
Internal Linking
1292(3)
Creating and Using Image Maps
1295(2)
meta Elements
1297(1)
frameset Element
1298(4)
Nested framesets
1302(2)
Summary
1304(1)
Internet and World Wide Web Resources
1305(2)
M HTML/XHTML Special Characters 1307(1)
N HTML/XHTML Colors 1308(3)
O Bit Manipulation 1311(17)
Introduction
1312(1)
Bit Manipulation and the Bitwise Operators
1312(12)
Class BitArray
1324(3)
Summary
1327(1)
P Crystal Reports® for Visual Studio .NET 1328(6)
Introduction
1328(1)
Crystal Reports Web Site Resources
1328(1)
Crystal Reports and Visual Studio .NET
1329(5)
Crystal Reports in Web Applications
1332(1)
Crystal Reports and Web Services
1332(2)
Bibliography 1334(4)
Index 1338

Excerpts

Preface Live in fragments no longer. Only connect. --Edward Morgan Forster We wove a web in childhood, A web of sunny air. --Charlotte Bronte Welcome to C# and the world of Windows, Internet and World-Wide-Web programming with Visual Studio .NET and the .NET platform! This book is the second in the new Deitel Developer Series, which presents leading-edge computing technologies to software developers and IT professionals. C# (pronounced "C-sharp") was developed by Microsoft expressly for its .NET platform. C# provides the features that are most important to programmers, such as object-oriented programming, 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 multi-tier application development, networking, Web services and distributed computing. The language is appropriate for implementing Internet- and World-Wide-Web-based applications that integrate seamlessly with Windows-based applications. The .NET platform offers powerful capabilities for software development and deployment, including language and platform independence. For example, developers writing code in any (or several) of the .NET languages (such as C#, Visual Basic .NET and Visual C++ .NET) can contribute components to the same software product. In addition to providing language independence, .NET extends program portability by enabling .NET applications to reside on, and communicate across, multiple platforms. This facilitates the creation and use of Web services, which are applications that expose functionality to clients via the Internet. The .NET platform enables Web-based applications to be distributed to consumer-electronic devices, such as wireless phones and personal digital assistants (PDAs), as well as to desktop computers. The capabilities that Microsoft has incorporated into the .NET platform increase programmer productivity and decrease development time. Who Should Read This Book Deitel & Associates, Inc. has several C# publications, intended for various audiences. We provide information on www.deitel.com , here and inside this book's back cover to help you determine which publication is best for you. Our first C# book, C# How to Program, was published as part of our How to ProgramSeries, for college and university students. It provides a comprehensive treatment of C# and includes learning aids and extensive ancillary support. C# How to Programassumes that the reader has little or no programming experience. Early chapters focus on fundamental programming principles. The book builds on this to create increasingly complex and sophisticated programs that demonstrate how to use C# to create graphical user interfaces, networking applications, multithreaded applications, Web-based applications and more. We encourage professors and professionals to consider the C# Complete Training Course. This package includes C# How to Program as well as the C# Multimedia Cyber Classroom, an interactive multimedia CD-ROM that provides extensive e-Learning features. The C# Complete Training Courseand C# Multimedia Cyber Classroomare discussed in detail later in this Preface. Our third C# publication, C#: A Programmer's Introduction, is part of the new Deitel Developer Series, intended for professional software developers-from novices through experienced programmers. C#: A Programmer's Introductionis a part of the A Programmer's Introduction subseries, which is designed for programmers with little (or no) programming experience. The book begins with C# programming fundamentals. The core of C#: A Pr

Rewards Program

Write a Review