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