Introduction
This book has existed (in one form or another) since the first edition of C# and the .NET Platform
was published in conjunction with the release of .NET 1.0 Beta 2, circa the summer of 2001. Since
that point, I have been extremely happy and grateful to see that this text was very well received by
the press and, most important, by readers. Over the years it was nominated as a Jolt Award finalist
(I lost . . . crap!) and for the 2003 Referenceware Excellence Award in the programming book cate-
gory (I won? Cool!).
Since that point, I have worked to keep the book current with each r
elease of the .NET platfor
m,
including a limited printing of a Special Edition, which introduced the technologies of .NET 3.0
(Windows Presentation F
oundation, Windows Communication Foundation, and Windows Workflow
Foundation) as well as offered previews of several forthcoming technologies, which we now know as
LINQ.
The fourth edition of this text, which you hold in your hands, is a massive retelling of the previ-
ous manuscript to account for all of the major changes that are found within .NET 3.5. Not only will
you find numerous brand-new chapters, you will find many of the previous chapters have been
expanded in great detail.
As with the earlier editions, this edition presents the C# programming language and .NET base
class libraries using a friendly and approachable tone. I have never understood the need some
technical authors have to spit out prose that reads more like a GRE vocabulary study guide than a
readable book. As well, this new edition remains focused on providing you with the information you
need to build software solutions today, rather than spending too much time examining esoteric
details that few individuals will ever actually care about.
We’re a Team, You and I
Technology authors write for a demanding group of people (I should know—I’m one of them).
You know that building software solutions using any platform (.NET, J2EE, COM, etc.) is extremely
detailed and is very specific to your department, company, client base, and subject matter. Perhaps
you work in the electronic publishing industry, develop systems for the state or local government,
or work at NASA or a branch of the military. Speaking for myself, I have developed children’s educa-
tional software, various n-tier systems, and projects within the medical and financial industries. The
chances are almost 100 percent that the code you write at your place of employment has little to do
with the code I write at mine (unless we happened to work together previously!).
Therefore, in this book, I have deliberately chosen to avoid creating examples that tie the
example code to a specific industry or vein of programming. Given this, I explain C#, OOP, the CLR,
and the .NET 3.5 base class libr
ar
ies using industr
y
-agnostic examples
. Rather than having every
blessed example fill a grid with data, calculate payroll, or whatnot, I’ll stick to subject matter we can
all relate to: automobiles (with some geometric structures and employees thrown in for good meas-
ur
e). And that’s where you come in.
My job is to explain the C# programming language and the core aspects of the .NET platform
the best I possibly can. As w
ell, I will do ev
erything I can to equip you with the tools and strategies
you need to continue your studies at this book’s conclusion.
Your job is to take this information and apply it to your specific programming assignments.
I obviously understand that your projects most likely don’t revolve around automobiles with pet
xix
8849FM.qxd 10/19/07 9:45 AM Page xix