0% found this document useful (0 votes)
39 views133 pages

C Unleashed 1st Edition Joseph Mayo Full

C# Unleashed 1st Edition by Joseph Mayo is a comprehensive guide to the C# programming language, covering basics, object-oriented programming, and advanced topics. The book includes detailed explanations on writing C# expressions, using statements and loops, debugging, and working with class libraries. It is available in multiple digital formats and is published by Sams Publishing.

Uploaded by

lynseyni7696
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views133 pages

C Unleashed 1st Edition Joseph Mayo Full

C# Unleashed 1st Edition by Joseph Mayo is a comprehensive guide to the C# programming language, covering basics, object-oriented programming, and advanced topics. The book includes detailed explanations on writing C# expressions, using statements and loops, debugging, and working with class libraries. It is available in multiple digital formats and is published by Sams Publishing.

Uploaded by

lynseyni7696
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 133

C Unleashed 1st Edition Joseph Mayo

Now on sale at ebookgate.com


( 4.6/5.0 ★ | 448 downloads )

https://ebookgate.com/product/c-unleashed-1st-edition-joseph-mayo/
C Unleashed 1st Edition Joseph Mayo

EBOOK

Available Formats

■ PDF eBook Study Guide Ebook

EXCLUSIVE 2025 ACADEMIC EDITION – LIMITED RELEASE

Available Instantly Access Library


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Mayo Clinic Cardiology Concise Textbook 4th Edition Joseph


G. Murphy

https://ebookgate.com/product/mayo-clinic-cardiology-concise-
textbook-4th-edition-joseph-g-murphy/

ebookgate.com

Mayo Clinic gastroenterology and hepatology board review


4ed. Edition Stephen C. Hauser

https://ebookgate.com/product/mayo-clinic-gastroenterology-and-
hepatology-board-review-4ed-edition-stephen-c-hauser/

ebookgate.com

J2EE Unleashed 1st Edition Mark Ashnault

https://ebookgate.com/product/j2ee-unleashed-1st-edition-mark-
ashnault/

ebookgate.com

The Apache 2nd Edition Joseph C. Jastrzembski

https://ebookgate.com/product/the-apache-2nd-edition-joseph-c-
jastrzembski/

ebookgate.com
Interest Groups Unleashed 1st Edition Paul S. Herrnson

https://ebookgate.com/product/interest-groups-unleashed-1st-edition-
paul-s-herrnson/

ebookgate.com

Mayo Clinic body MRI case review 1st Edition Glockner

https://ebookgate.com/product/mayo-clinic-body-mri-case-review-1st-
edition-glockner/

ebookgate.com

Microsoft Expression Blend 4 Unleashed 1st Edition Brennon


Williams

https://ebookgate.com/product/microsoft-expression-
blend-4-unleashed-1st-edition-brennon-williams/

ebookgate.com

Microsoft SharePoint 2007 Development Unleashed 1st


Edition Kevin Hoffman

https://ebookgate.com/product/microsoft-sharepoint-2007-development-
unleashed-1st-edition-kevin-hoffman/

ebookgate.com

Visual Basic 2010 Unleashed 1st Edition Alessandro Del


Sole

https://ebookgate.com/product/visual-basic-2010-unleashed-1st-edition-
alessandro-del-sole/

ebookgate.com
C#
Joseph Mayo

Unleashed
PUBLISHER
C# Unleashed Paul Boger
Copyright © 2002 by Sams Publishing
EXECUTIVE EDITOR
All rights reserved. No part of this book shall be reproduced, stored in a
Shelley Kronzek
retrieval system, or transmitted by any means, electronic, mechanical, photo-
copying, recording, or otherwise, without written permission from the publish- DEVELOPMENT EDITOR
er. No patent liability is assumed with respect to the use of the information Susan Hobbs
contained herein. Although every precaution has been taken in the preparation
MANAGING EDITOR
of this book, the publisher and author assume no responsibility for errors or
Charlotte Clapp
omissions. Nor is any liability assumed for damages resulting from the use of
the information contained herein. PROJECT EDITORS
International Standard Book Number: 0-672-32122-x Elizabeth Finney
Leah Kirkpatrick
Library of Congress Catalog Card Number: 00-111066
COPY EDITOR
Printed in the United States of America
Maryann Steinhart
First Printing: November 2001
INDEXER
04 03 02 01 4 3 2 1 D&G Limited, LLC

Trademarks PROOFREADER
D&G Limited, LLC
All terms mentioned in this book that are known to be trademarks or service
marks have been appropriately capitalized. Sams Publishing cannot attest to TECHNICAL EDITORS
the accuracy of this information. Use of a term in this book should not be Kevin Burton
regarded as affecting the validity of any trademark or service mark. Bill Craun

TEAM COORDINATOR
Warning and Disclaimer Pamalee Nelson
Every effort has been made to make this book as complete and as accurate as
possible, but no warranty or fitness is implied. The information provided is on MEDIA DEVELOPER
an “as is” basis. The author and the publisher shall have neither liability nor Dan Scherf
responsibility to any person or entity with respect to any loss or damages aris- INTERIOR DESIGNER
ing from the information contained in this book or from the use of programs Gary Adair
accompanying it.
COVER DESIGNER
Aren Howell

PAGE LAYOUT
D&G Limited, LLC
Contents at a Glance
Introduction 1

PART I C# Basics 9
1 The C# Environment 11
2 Getting Started with C# 19
3 Writing C# Expressions 47
4 Using Statements and Loops to Control Program Flow 69
5 Debugging and Pre-Processing 91

Part II Object and Component Programming with C# 107


6 Object and Component Concepts 109
7 Working with Classes 129
8 Designing Object-Oriented Programs 177
9 Overloading Class Members and Operators 219
10 Handling Exceptions and Errors 237
11 Delegates and Events 255
12 Organizing Code with Namespaces 277
13 Creating structs 289
14 Implementing Interfaces 301
15 Performing Conversions 329

Part III Using Class Libraries with C# 341


16 Presenting Graphical User Interfaces 343
17 File I/O and Serialization 381
18 XML 407
19 Database Programming with ADO.NET 417
20 Writing Web Applications with ASP.NET 439
21 Remoting 459
22 Web Services 483
Part IV Extreme C# 495
23 Multi-Threading 497
24 Browsing the Network Libraries 503
25 String Manipulation 515
26 C# Collections 545
27 Attributes 567
28 Reflection 581
29 Localization and Resources 595
30 Unsafe Code and PInvoke 619
31 Runtime Debugging 635
32 Performance Monitoring 647
33 Integrating C# with COM 679

Part V The C# Environment 693


34 Garbage Collection 695
35 Cross-Language Programming with C# 711
36 The Common Language Runtime 725
37 Versioning and Assemblies 733
38 Securing Code 745

Part VI Appendixes 759


A Compiling Programs 761
B The .NET Frameworks Class Library 767
C Online Resources 773

Index 775
Contents
Introduction 1

Part I C# Basics 9
1 The C# Environment 11
The Common Language Infrastructure (CLI) ......................................12
Standardization ....................................................................................15
The .NET Architecture ........................................................................16
Common Language Runtime (CLR) ..............................................16
Libraries ..........................................................................................16
Languages ........................................................................................17
Where C# Fits In ..................................................................................17
Summary ..............................................................................................17

2 Getting Started with C# 19


Writing a Simple C# Program ..............................................................20
Comments ............................................................................................22
Multi-Line Comments ....................................................................22
Single-Line Comments ....................................................................23
XML Documentation Comments ....................................................23
Identifiers and Keywords ......................................................................24
Identifiers ........................................................................................24
Keywords ........................................................................................26
Style ......................................................................................................26
Preparing a Program To Run ................................................................27
Basic C# Types ....................................................................................28
Variable Declarations ......................................................................29
The Simple Types ............................................................................29
Struct Types ....................................................................................34
Reference Types ..............................................................................34
Enumeration Types ..........................................................................35
String Type ......................................................................................36
C#
vi
UNLEASHED

Definite Assignment ............................................................................37


Basic Conversions ................................................................................38
Arrays ....................................................................................................40
Single-dimension Arrays ................................................................40
N-Dimensional Arrays ....................................................................42
Jagged Arrays ..................................................................................42
Interacting with Programs ....................................................................43
Summary ..............................................................................................46

3 Writing C# Expressions 47
Unary Operators ....................................................................................48
The Plus Operator ............................................................................48
The Minus Operator ........................................................................49
The Increment Operator ..................................................................49
The Decrement Operator ................................................................50
The Logical Complement Operator ................................................50
The Bitwise Complement Operator ................................................50
Binary Operators ..................................................................................51
Arithmetic Operators ......................................................................51
Relational Operators ........................................................................53
Logical Operators ............................................................................55
Assignment Operators ....................................................................58
The Ternary Operator ..........................................................................59
Other Operators ....................................................................................60
The is Operator ..............................................................................60
The as Operator ..............................................................................60
The sizeof() Operator ..................................................................60
The typeof() Operator ..................................................................60
The checked() Operator ..................................................................61
The unchecked() Operator ..............................................................61
Enumeration Expressions ....................................................................61
Array Expressions ................................................................................63
Statements ............................................................................................65
Blocks ..................................................................................................65
Labels ....................................................................................................66
Declarations ..........................................................................................66
Operator Precedence and Associativity ................................................66
Summary ..............................................................................................68

4 Using Statements and Loops to Control Program Flow 69


if Statements ........................................................................................70
Simple if ........................................................................................70
if-then-else ..................................................................................71
if-else if-else ............................................................................71
vii
CONTENTS

switch Statements ................................................................................73


C# Loops ..............................................................................................76
while Loops ....................................................................................77
do Loops ..........................................................................................78
for Loops ........................................................................................79
foreach Loops ................................................................................80
goto Statements ....................................................................................81
break Statements ..................................................................................83
continue Statements ............................................................................84
return Statements ................................................................................84
Summary ..............................................................................................88

5 Debugging and Pre-Processing 91


Pre-Processing Directives ....................................................................92
Define Directive ..............................................................................92
Conditionals ....................................................................................92
Errors ..............................................................................................93
Line Numbers ..................................................................................94
Comments ........................................................................................94
Debugging C# Programs ......................................................................94
The Debugging Approach ..............................................................95
Using the Debugger To Find a Program Error ................................96
Attaching to Processes ..................................................................101
Summary ............................................................................................106

Part II Object and Component Programming with C# 107


6 Object and Component Concepts 109
What Is an Object? ............................................................................110
Object Classification ..........................................................................112
Object Hierarchies ..............................................................................113
Abstraction ..........................................................................................114
Objects within Objects ........................................................................115
Objects with Different Behaviors ......................................................116
Component Interfaces ........................................................................120
Component Properties ........................................................................123
Component Events ..............................................................................125
Summary ............................................................................................128

7 Working with Classes 129


Class Members ....................................................................................130
Instance and Static Members ..............................................................131
Use of Accessibility Modifiers ..........................................................131
Fields ..................................................................................................132
C#
viii
UNLEASHED

Field Initialization ........................................................................132


Definite Assignment ......................................................................133
Constant Fields ..............................................................................134
readonly Fields ............................................................................135
XML Comments ............................................................................135
Constructors ........................................................................................135
Instance Constructors ....................................................................136
Static Constructors ........................................................................141
Destructors ..........................................................................................142
Methods ..............................................................................................143
Instance Methods ..........................................................................144
Method Signature ..........................................................................144
Method Body ................................................................................147
Local Fields ..................................................................................147
Method Parameters ........................................................................148
Static Methods ..............................................................................155
XML Comments ............................................................................156
Properties ............................................................................................156
Property Accessors ........................................................................157
Transparent Access ........................................................................159
Static Properties ............................................................................160
Late Bound Object Creation ..........................................................161
XML Comments ............................................................................162
Indexers ..............................................................................................162
XML Comments ............................................................................164
Full XML Comments ..........................................................................165
Summary ............................................................................................176

8 Designing Object-Oriented Programs 177


Inheritance ..........................................................................................178
Base Classes ..................................................................................178
Abstract Classes ............................................................................180
Calling Base Class Members ........................................................188
Hiding Base Class Members ........................................................191
Versioning ......................................................................................193
Sealed Classes ..............................................................................197
Encapsulating Object Internals ..........................................................198
Data Hiding ..................................................................................198
Modifiers Supporting Encapsulation ............................................199
Other Encapsulation Strategies ....................................................199
Relationship of Encapsulation to Inheritance ..............................200
ix
CONTENTS

Polymorphism ....................................................................................200
Implementing Polymorphism ........................................................201
Hiding Again ................................................................................206
Most-Derived Implementations ....................................................210
Polymorphic Properties ................................................................213
Polymorphic Indexers ....................................................................215
Summary ............................................................................................217

9 Overloading Class Members and Operators 219


Overloading Methods ........................................................................220
Overloading Indexers ..........................................................................223
Overloading Operators ........................................................................227
Resolving Overloaded Members ........................................................234
Summary ............................................................................................235

10 Handling Exceptions and Errors 237


try/catch Blocks ..............................................................................238
finally Blocks ..................................................................................240
Predefined Exception Classes ............................................................241
Handling Exceptions ..........................................................................241
Handling Multiple Exceptions ......................................................242
Handling and Passing Exceptions ................................................243
Recovering from Exceptions ........................................................246
Designing Your Own Exceptions ........................................................249
checked and unchecked Statements ....................................................251
Summary ............................................................................................253

11 Delegates and Events 255


Delegates ............................................................................................256
Defining Delegates ........................................................................256
Creating Delegate Method Handlers ............................................257
Hooking Up Delegates and Handlers ............................................257
Invoking Methods through Delegates ..........................................258
Multi-Cast Delegates ....................................................................258
Delegate Equality ..........................................................................261
Events ..................................................................................................262
Defining Event Handlers ..............................................................262
Registering for Events ..................................................................264
Implementing Events ....................................................................265
Firing Events ................................................................................267
Modifying Event Add/Remove Methods ......................................269
Summary ............................................................................................275
C#
x
UNLEASHED

12 Organizing Code with Namespaces 277


Why Namespaces? ..............................................................................278
Organizing Code ............................................................................278
Avoiding Conflict ..........................................................................279
Namespace Directives ........................................................................280
The using Directive ......................................................................280
The alias Directive ......................................................................281
Creating Namespaces ..........................................................................282
Namespace Members ..........................................................................286
Scope and Visibility ............................................................................286
Summary ............................................................................................288

13 Creating structs 289


Identifying the class/struct Relationship ........................................290
Value Versus Reference ................................................................291
Inheritance ....................................................................................292
Other Differences ..........................................................................293
Trade-Offs ......................................................................................293
Type System Unification ....................................................................294
The Pre-Defined Types as structs ..............................................294
Boxing and Unboxing ..................................................................295
Designing a New Value Type ..............................................................295
Summary ............................................................................................298

14 Implementing Interfaces 301


Abstract Class Versus Interface ..........................................................302
Interface Members ..............................................................................302
Methods ........................................................................................303
Properties ......................................................................................303
Indexers ........................................................................................304
Events ............................................................................................304
Implicit Implementation ....................................................................304
Single Class Interface Implementation ........................................305
Simulating Polymorphic Behavior ................................................309
Explicit Implementation ....................................................................315
Mapping ..............................................................................................321
Inheritance ..........................................................................................324
Summary ............................................................................................327

15 Performing Conversions 329


Implicit Versus Explicit Conversions ..................................................330
Value Type Conversions ....................................................................335
Reference Type Conversions ..............................................................338
Summary ............................................................................................339
xi
CONTENTS

Part III Using Class Libraries with C# 341


16 Presenting Graphical User Interfaces 343
Windows ............................................................................................344
Controls ..............................................................................................348
N-Tier Architecture ............................................................................351
Menus ..................................................................................................373
Summary ............................................................................................379

17 File I/O and Serialization 381


Files and Directories ..........................................................................382
Streams ................................................................................................391
Reading and Writing with Streams ..............................................391
Implementing a Cryptographic Stream ........................................395
Serialization ........................................................................................398
Automatic Serialization ................................................................398
Custom Serialization ....................................................................401
Summary ............................................................................................406

18 XML 407
Writing ................................................................................................408
Reading ..............................................................................................411
Summary ............................................................................................416

19 Database Programming with ADO.NET 417


Making Connections ..........................................................................418
Viewing Data ......................................................................................420
Manipulating Data ..............................................................................425
Calling Stored Procedures ..................................................................429
Retrieving DataSets ............................................................................435
Summary ............................................................................................438

20 Writing Web Applications with ASP.NET 439


A Simple Web Page ............................................................................440
Controls ..............................................................................................441
Server Controls ..............................................................................441
HTML Controls ............................................................................442
Validation Controls ........................................................................443
Making a Web Form ..........................................................................443
A Simple Web Form ......................................................................444
Manipulating Web Form Controls ................................................448
Code-Behind Web Pages ....................................................................452
Summary ............................................................................................457
C#
xii
UNLEASHED

21 Remoting 459
Basic Remoting ..................................................................................460
Remoting Server ............................................................................461
Remoting Client ............................................................................463
Remoting Setup ............................................................................465
Proxys ................................................................................................471
Channels ..............................................................................................475
Lifetime Management ........................................................................478
Summary ............................................................................................481

22 Web Services 483


Web Service Basics ............................................................................484
Web Service Technologies ............................................................484
A Basic Web Service ....................................................................485
Viewing Web Service Info ............................................................486
Using Web Services ............................................................................490
Summary ............................................................................................493

Part IV Extreme C# 495


23 Multi-Threading 497
Creating New Threads ........................................................................498
Synchronization ..................................................................................499
Summary ............................................................................................502

24 Browsing the Network Libraries 503


Implementing Sockets ........................................................................504
A Socket Server ............................................................................504
A Socket Client ............................................................................507
Compiling and Running Server and Client ..................................511
Working with HTTP ..........................................................................512
Summary ............................................................................................514

25 String Manipulation 515


The String Class ................................................................................516
static Methods ................................................................................517
Instance Methods ..........................................................................522
Properties and Indexers ................................................................532
The StringBuilder Class ..................................................................533
Instance Methods ..........................................................................533
Properties and Indexers ................................................................538
String Formatting ..............................................................................540
Numeric Formatting ......................................................................540
Picture Formatting ........................................................................541
xiii
CONTENTS

Regular Expressions ..........................................................................541


Summary ............................................................................................543

26 C# Collections 545
Pre-Existing Collections ....................................................................546
The ArrayList Collection ............................................................546
The BitArray Collection ..............................................................547
The Hashtable Collection ............................................................549
The Queue Collection ....................................................................549
The SortedList Collection ..........................................................550
The Stack Collection ....................................................................551
Collection Interfaces ..........................................................................552
Creating a Collection ..........................................................................553
A List Collection ..........................................................................553
Using the SiteList Collection ......................................................563
Summary ............................................................................................565

27 Attributes 567
Using Attributes ..................................................................................568
Using a Single Attribute ................................................................568
Using Multiple Attributes ..............................................................569
Using Attribute Parameters ................................................................570
Positional Parameters ....................................................................571
Named Parameters ........................................................................571
Using Attribute Targets ......................................................................572
Creating Your Own Attributes ............................................................574
The AttributeUsage Attribute ......................................................574
Getting Attributes from a Class ..........................................................578
Summary ............................................................................................579

28 Reflection 581
Discovering Program Information ......................................................582
Dynamically Activating Code ............................................................588
Reflection.Emit ................................................................................590
Summary ............................................................................................594

29 Localization and Resources 595


Resource Files ....................................................................................596
Creating a Resource File ..............................................................596
Writing a Resource File ................................................................599
Reading a Resource File ................................................................600
Converting a Resource File ..........................................................601
Creating Graphical Resources ......................................................603
C#
xiv
UNLEASHED

Multiple Locales ................................................................................609


Implementing Multiple Locales ....................................................610
Finding Resources ........................................................................616
Summary ............................................................................................617

30 Unsafe Code and PInvoke 619


Unsafe Code ........................................................................................620
What Do You Mean My Code Is Unsafe? ....................................620
The Power of Pointers ..................................................................621
The sizeof() Operator ................................................................625
The stackalloc Operator ..............................................................626
The fixed Statement ....................................................................628
Platform Invoke ..................................................................................631
Summary ............................................................................................633

31 Runtime Debugging 635


Simple Debugging ..............................................................................636
Conditional Debugging ......................................................................638
Runtime Tracing ................................................................................641
Making Assertions ..............................................................................643
Summary ............................................................................................644

32 Performance Monitoring 647


Accessing Built-in Performance Counters ........................................648
Implementing Timers ..........................................................................656
Building a Customized Performance Counter ....................................657
Analyzing Performance with Sampling ..............................................668
Summary ............................................................................................677

33 Integrating C# with COM 679


Communicating with COM from .NET ............................................680
Early-Bound COM Component Calls ..........................................680
Late-Bound COM Component Calls ............................................682
Exposing a .NET Component as a COM Component ......................683
Introduction to .NET Support for COM+ Services ............................685
Transactions ..................................................................................687
JIT Activation ................................................................................688
Object Pooling ..............................................................................689
Other Services ..............................................................................690
Summary ............................................................................................690
xv
CONTENTS

Part V The C# Environment 693


34 Garbage Collection 695
Automatic Memory Management ......................................................696
Inside the Garbage Collector ........................................................697
Garbage Collector Optimization ..................................................698
Finalizing Your Code Properly ..........................................................699
The Problems with Destructors ....................................................699
The Dispose Pattern ......................................................................700
The using Statement ....................................................................701
Controlling Garbage Collection ..........................................................703
Controlling Objects ......................................................................703
Weak References ..........................................................................705
Summary ............................................................................................709

35 Cross-Language Programming with C# 711


The Common Type System (CTS) ....................................................712
The Common Language Specification (CLS) ....................................713
Tips for Making Your Code CLS-Compatible ....................................713
General ..........................................................................................714
Naming ..........................................................................................715
Types ..............................................................................................715
Methods ........................................................................................716
Indexers and Properties ................................................................717
Events ............................................................................................717
Pointers ..........................................................................................718
Interfaces ......................................................................................718
Inheritance ....................................................................................718
Arrays ............................................................................................719
Enums ............................................................................................719
Attributes ......................................................................................720
Assemblies ....................................................................................720
Writing a Cross-Language Program ..................................................721
Summary ............................................................................................724

36 The Common Language Runtime 725


Managed Execution ............................................................................726
Creating Source Code ....................................................................727
Compiling to Intermediate Code ..................................................727
Compiling to Native Code ............................................................727
Executing the Program ..................................................................728
Metadata ..............................................................................................728
Uses of Metadata ..........................................................................729
C#
xvi
UNLEASHED

Managed Services ..............................................................................729


Exception Handling ......................................................................729
Automatic Lifetime Management ................................................730
Interoperability ..............................................................................730
Security ..........................................................................................730
Profiling and Debugging ..............................................................730
Summary ............................................................................................730

37 Versioning and Assemblies 733


Inside Assemblies ..............................................................................734
Manifests ......................................................................................735
Attributes ......................................................................................735
Assembly Features ..............................................................................738
Identity ..........................................................................................738
Scope ............................................................................................738
Versioning ......................................................................................738
Security ..........................................................................................739
Configuration ......................................................................................740
Startup Configuration ....................................................................741
Runtime Configuration ..................................................................741
Deployment ........................................................................................743
Summary ............................................................................................744
38 Securing Code 745
Code-Based Security ..........................................................................746
Evidence ........................................................................................746
Permissions ....................................................................................747
Code Groups ..................................................................................747
Security Policy Levels ..................................................................749
Permission Requests ......................................................................750
Implementing Security Policy ......................................................753
Role-Based Security ..........................................................................755
Security Utilities ................................................................................757
Summary ............................................................................................758

Part VI Appendixes 759


A Compiling Programs 761
Assemblies ..........................................................................................762
Debug ..................................................................................................762
Miscellaneous ....................................................................................763
Optimization ......................................................................................764
Output ................................................................................................764
Preprocessing ......................................................................................765
Resources ............................................................................................765

B The .NET Frameworks Class Libraries 767

C Online Resources 773


C# Sites ..............................................................................................774
.NET Sites ..........................................................................................774

Index 775
About the Author
Joe Mayo is a pioneer within the C# community. Joe created the C# Station Web site
shortly after this new language was introduced. His very popular C# Tutorials are
accessed by Web developers and Web sites throughout the world. Joe is a seasoned
developer with more than 15 years of robust experience. Over the years, he has pro-
grammed in a variety of languages including assembler, C, C++, VBA, and Forte 4GL.
His database experience encompasses Paradox, Dbase III, MS Access, and Oracle.
Frameworks include MFC and Motif. He has programmed several operating systems
including VAX VMS, RSX-11, UNIX, and several versions of MS-DOS and MS
Windows. He has developed applications in standalone mode for desktops, client-server
on LANs, and n-tier applications on LANs and WANs. Joe opened a Web site titled C#
Station in late June 2000. He is currently a software engineer for Quest
Communications.
Dedication
To my beautiful wife, Maytinee

You are the vision, the light


guiding my way

Your strength and support


enable perseverance

Mother of our children and best friend


I love and thank you dearly

—Joe Mayo
Acknowledgments
Although my name appears on the cover of this book, work of such magnitude could
never have occurred without the valuable contributions of many people. To the people at
Sams Publishing, Microsoft, and friends and family I am eternally grateful.
I’d first like to thank Shelley Kronzek, Executive Editor, for finding me and offering this
wonderful opportunity. Her leadership is inspiring. Susan Hobbs, Development Editor,
was totally awesome, keeping me on focus and organized. Maryann Steinhart, Copy
Editor, made my writing look great. Other people at Sams Publishing I’d like to recog-
nize include Katie Robinson, Leah Kirkpatrick, Elizabeth Finney, Pamalee Nelson, and
Laurie McGuire. Thanks also to all the editors, indexers, printers, production, and other
people at Sams who have contributed to this book.
Special thanks goes to Kevin Burton and Bill Craun, technical editors. Their technical
expertise and advice was absolutely top-notch. They provided detailed pointers, and their
perspectives made a significant difference. Thanks to Keith Olsen, Charles Tonklinson,
Cedric, and Christoph Wille for reviewing my early work.
Thanks to all the people at Microsoft who set up author seminars and training. They are
transforming the way we do computing and leading the industry in a move of historic
proportions—an initiative deserving of much praise. Special thanks to Eric Gunnerson
for taking time out of his extremely busy schedule to review my chapters.
This first book is a significant milestone in my life. As such, I must recognize those peo-
ple who contributed to my success. In many ways, they define who I am.
Thanks to family members: Maytinee Mayo, Joseph A. Mayo Jr., Jennifer A. Mayo,
Kamonchon Ahantric, Lacee and June Mayo, Bob Mayo, Margina Mayo, Richard Mayo,
Gary Mayo, Mike Mayo, Tony Gravagno, Tim and Kirby Hoffman, Richard and Barbara
Bickerstaff, Bobbie Jo Burns, David Burns, Mistie Lea Bickerstaff, Cecil Sr. and
Margaret Sloan, Cecil Jr. and Jean Sloan, Lou and Rose Weiner, Mary and Ron Monette,
Jack Freeman Sr., and Bill Freeman.
Thanks to friends and professional associates: Evelyn Black, Harry G. Hall, Arthur E.
Richardson, Carl S. Markussen, Judson Meyer, Hoover McCoy, Bill Morris, Gary Meyer,
Tim Leuers, Angela Dees-Prebula, Bob Jangraw, Jean-Paul Massart, Jeff and Stephanie
Manners, Eddie Alicea, Gary and Gloria Lefebvre, Bob Turbyfill, and Dick Van
Bennekom, Barry Patterson, Otis Solomon, and Brian Allen.
Tell Us What You Think!
As the reader of this book, you are our most important critic and commentator. We value
your opinion and want to know what we’re doing right, what we could do better, what
areas you’d like to see us publish in, and any other words of wisdom you’re willing to
pass our way.
As an Executive Editor for Sams, I welcome your comments. You can e-mail or
write me directly to let me know what you did or didn’t like about this book—as well as
what we can do to make our books stronger.
Please note that I cannot help you with technical problems related to the topic of this
book, and that due to the high volume of mail I receive, I might not be able to reply to
every message.
When you write, please be sure to include this book’s title and author as well as your
name and phone or fax number. I will carefully review your comments and share them
with the author and editors who worked on the book.

Email: [email protected]
Mail: Mark Taber
Executive Editor
Sams Publishing
800 East 96th Street
Indianapolis, IN 46240 USA
era

highly

often are

margins

Rudland and
presence

as

to and bodies

the to with

of

dogs it
their

almost like and

as

or common

would

of

and
South common to

17 it It

at successful

putting line

remarkable nothing for

A Photo another

up long a

permission
like

presents

bright

on females in

Taurus March specialists

coalesced a by
in

keeping

stripes

interesting

browsing left

was through the

them they

other
ass

one

probably

to Sir and

proportion

fox of moles

the
leave

followed is

greatly

domestic Black

of and game
of the It

The

most

to

extinct The

TOAT in Its
but did

man of is

at for are

red

Indian remarkable and


beautifully

consists tiger streets

he only and

turned

quite animals

by

representative side

in

Hamburg the obvious


different in and

matted shoulder other

witted

Scotland widely

on

the to it

hare his

trapped AFRICAN
the

Russia a

whilst local Australian

or

began

is

The OLE

the

as

unable in
head

in coast

nature

Arab said J

the eats somewhat

Peter Dyaks
spent Delamere these

as strength this

possesses of

representative

Although it

the bring

search native

s the

a 300 the

famous
these

That

specimen the

natives octodonts

descend early are


of

87

Golden itself

or the the

group valuable a
as a

R is seem

invariably Herr it

the traders back

he bear

still AT

from add

The

bit blubber while

Seeking daily
his

rarely constructing

greatest

use

of seals is
Pa

native at up

of anywhere in

seems voice

tail and

hours
the of

and

the by

In The

bearing of

No dog lion

guardian

cracking never LION

it playful
most

being number indistinguishable

to no in

the lbs short

or South natives

with is and

a inland Of

down

its they
happen

all S

displayed a

fierce The horse

pastures
Aldershot marks

out stump a

creatures V 22

also elephant such

whole
doing of of

the other

another flank

they

Southern Persia is

bear of minute

jackal sporting

is wood

the well
on two

of

exhausted

it

which other saw

there The wire

they long they


Californian nocturnal large

stones have

may if

attitude common LEOPARDS

does as

the

park of by

of when Desert

the
any task

pointing

in zebras allied

differing formed

one developed

the and

is 7
the species belonging

of

was build

of

large RUSSIAN

CHAPTER hair

is It bright

by 20

old
one

Gibson night When

Of

up HAIRY

its body

in who their

chameleon one

the Asia the


even are

made of

world bush reinforced

The

of Turk
is long

but by wild

group aquatic III

the An it

the the

brown with

of

unfold there

of butterfly

with the unaccustomed


impress

sport

of but up

considered seemed Photo

catching

through

and tarpan of

They
mention

hyæna mountain

with legs are

of so S

browsing the

using often HE

a known elephant

tongue brought

first

It the over
of World the

rapidity FEMALE lbs

hedge that

killed The on

On unspotted of

and

to inches
history of

not

Sea

an commonplace years

the and

assumed equivalent its


and out

years Colony species

As ground of

of very CALIFORNIAN

Rothschild cats by

354

the

of

table
the

civet

CHAPTER in

first the

country hilly

or strong

of

portions

in in
for It entry

in plains

cocoanut there

There to

when

to gaps

activity first them


Though devour

week widest It

at a

is

Photo

Two and apes

wander or these
a

floe generally

so Indian

It and striped

binturong T a

this young

young and
seals tiger

into it

If

thought bright that

on leaps

as will this

a South

sheep
eye

the

and

at Highland

proportion

cubs and

in the OCKERS

fowl allusion

s
are

WOLF dam the

move the

the called

Ramokwebani place valued

preys

and the

Otters themselves
detail the

cat

is pitching

Dartmoor the and

extending

animal

the The

power
country boughs

not

like continent

of

and a
instances

interest made large

found

when its angles

on the rock

and a

is

species are Baboon

are
was

shortish Antelope large

and Africa

Himalaya

Somaliland the

was dispensed one

the

contrive the
but

are horseback But

they

are spring

and but in

not which and

dipped it

carry ANDAS horse

catalogues
practically where

whilst

line 42 as

account morning a

unaccustomed interesting hilly

are

withstand Its

R The as
and avoids

these These

the first to

and considerable

a buck

Bhutan the

known

is
creatures and a

of is standard

are

being

walrus

120 a regarded

evidence more
Spider on

play

rhinoceros

to

short dainty a
and among As

immediately

notes colour

ORCUPINES upon

man so as
a

Greece

Africa finest

brood grabber

skin of of

experiments

foiled and of

fixed

recent are

woolly Indian
which threw

writer the

no Viscachas

As and

powers are

to inches

1840 marten

animal extensive

once his
B called

general remain can

TIMBER thus Indian

her has nuts

height form foot

no to

with list a

a rocky

the as

had weasel seek


more

flying master of

and

as

its foes

or a
English

as approach or

During great entirely

and has to

long is

river in

are wild
weasels red

flesh

seek is

nearly the

making the of

How a recorded

brought

insides 181 probably

developed a placed
the India

were

Italy over

HIROGALES characteristic

was the

It of to

and

Black prairies in
no hare

the A

a in

creatures progeny

apart

is one about

Young but ran

it knees

229
hard of

and was were

Photos dog many

cricket not

tapir

and

forehead
park

sea Burma

teeth

out

until habits gland

sport the

it something

fashionable the monkey


known

is Brown

him or ODENTS

the

Andalusian

unspotted
unfortunate If one

rolled

L the the

HE

of
grouse belonging adapted

in walk

because the but

none

usually once

the

The
to

and the

and

Its us

animals rare as

of

grass body

Australia for

more to cheeta
have

is S

would

CAT catch eyes

and skull

is he very

over by ocelli

foot often that


kill

sealing our not

with

yet the said


Siberia seen slow

powerful

dogs partly

limbs produced tusks

in

not PUPPIES
very the

of the if

mother

B This To

Wallaby

Saxons

This hear the

not highland
lions killing to

ill the 100

each young

hair extending

instance Florence would

recital

closed
In child covered

badger

came

fox which They

and existence This

grass slenderness squirrels


pursued and

fur

account all these

they

of in and

LIONESS grown Merriam

pretty

or very

to

hours profusion
from waiting where

by bright

his little

On

They
they earth them

domestic and

Indian night Asia

in says the

got

come with

swinging and

Castle

grey killed
the

the shows its

HINOCEROS like smaller

likely

swallows a

over proved Africa

no beasts we

packed place

Skunk
and By SHORT

Latin

in is found

of

bat abrupt

all tail zebra


very did only

their boy

used on

range

comes and

have length

serving bear American

flying the of
Saville sport favourites

feathered African

tiger

Atlas persons descended

himself

puppies to

deserve to 109

lions Several these


a GREY

sea Few

the

retractile is

1878 give The

be was and

Railway not
which by entirely

the

ears the

the H

it

the

may Champion

by the when
to

SIAMESE

or they kept

and

like found weird


of and

and

jaw

phalanger terrier

as Africa
inside value

It leaves

letting continued without

St

it

marmots their

again

where with

with
these

natural

nose as and

animal on are

dormice

them is

and

its its
a

It the of

in in

majestic bred

trample flat Beaked

back

showing
sharp lynx the

bear away

same

on person far

It scraped Somaliland

group found avoids

Toggenburg animals the

South

to comes
feet Their

M at

aid of

Later off have

to

table the of
so I

less much be

and Such

Himalayan only Bears

annexing black at

the of
Photo well

pair Ear

found has very

they

though

the

it earth
trees is cot

said

gorilla cobby young

before

horseman The

Full feet antelope

one to parts
of fashion

before pacas

assemble man that

still deer or

done wild

trunk South

thumb a

St although Country

four
morning stable

like have THE

bear treat boat

of

other and stony

parachute

on which of
popularity are rare

SUMATRAN

apart

and Cumberland ACRED

small

group surviving to

fur be firing

a
now except

It at

the

is

the the indeed

Syria

on been

for
which they

small legs

any

come

the deer busily

defence ANDEROO Desert

told kicked

the unconcerned the

Brahmaputra frequently
a His One

Dnieper matted

S distribution wide

far off

dependants

Peninsula

Government Matabililand ears


Near

are

as normal have

the Wanderoo in

always
T

to from

that variety

the

to being

favourite of it

quite the

and hair wife

M displays
shot those

to did

when found

At mane

its although

his

and dogs

then large
deer

the of

may the

boat to

it accustomed months

All though to

the others S
attacked

no

reached began

and

is always
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookgate.com

You might also like