Charles Petzold - .NET Book Zero.pdf
(
1254 KB
)
Pobierz
.NET Book Zero
What the C or C++ Programmer Needs to
Know about C# and the .NET Framework
by
Charles Petzold
www.charlespetzold.com
Version 1.1, January 1, 2007
© Charles Petzold, 2006-2007
.NET Book Zero
Charles Petzold
Table of Contents
Chapter 1. Why This Book? ................................................................ 2
Chapter 2. Why .NET?........................................................................ 5
Chapter 3. Runtimes and SDKs.......................................................... 7
Chapter 4. Edit, Compile, Run, Disassemble .................................... 11
Chapter 5. Strings and the Console .................................................. 22
Chapter 6. Primitive Data Types ....................................................... 51
Chapter 7. Operators and Expressions ............................................. 68
Chapter 8. Selection and Iteration .................................................... 75
Chapter 9. The Stack and the Heap .................................................. 83
Chapter 10. Arrays........................................................................... 88
Chapter 11. Methods and Fields....................................................... 95
Chapter 12. Exception Handling......................................................108
Chapter 13. Classes, Structures, and Objects..................................117
Chapter 14. Instance Methods.........................................................126
Chapter 15. Constructors................................................................135
Chapter 16. Concepts of Equality ....................................................144
Chapter 17. Fields and Properties....................................................153
Chapter 18. Inheritance ..................................................................166
Chapter 19. Virtuality .....................................................................175
Chapter 20. Operator Overloading ...................................................191
Chapter 21. Interfaces.....................................................................202
Chapter 22. Interoperability ............................................................206
Chapter 23. Dates and Times ..........................................................210
Chapter 24. Events and Delegates ...................................................221
Chapter 25. Files and Streams ........................................................226
Chapter 26. String Theory ...............................................................250
Chapter 27. Generics ......................................................................253
Chapter 28. Nullable Types .............................................................259
Version 1.1
Page 1
.NET Book Zero
Charles Petzold
Chapter 1. Why This Book?
Some books have a Chapter Zero. That‘s the chapter with the stuff the
reader needs to know before reading Chapter One. Chapter Zero might be
a refresher course in subjects the reader once knew but has now forgot-
ten, or it might be a quick-and-dirty summary of prerequisites for the
rest of the book.
This book originated as a Chapter Zero in my book
Applications = Code +
Markup: A Guide to the Microsoft Windows Presentation Foundation
(Microsoft Press, 2006), which is about the new Windows client program-
ming platform that‘s part of Microsoft .NET 3.0 and Microsoft Windows
Vista.
I wanted
Applications = Code + Markup
to focus almost exclusively on the
Windows Presentation Foundation. I knew there was enough to cover
without going into the basics of general .NET programming and C#. Yet, I
wasn‘t sure how much .NET my readers would know. I started writing a
Chapter Zero for the book that would summarize all the basics of .NET
and C# for the C and C++ programmers who might be coming to .NET for
the very first time.
It soon became evident that this Chapter Zero would be very long. It
occurred to me that I could extract the material and make it a book on
its own. And so I did and this is it. What you have in your hands (or are
reading on a screen) is an introduction to C# and those topics in .NET
that are typically found in all .NET programming.
C# is a modern type-safe and object-oriented programming language
based on the syntax of C and (to a certain extent) C++ and Java. Even if
you‘re an experienced C++ programmer, you might be in for a few sur-
prises. You may think you know the difference between a
class
and a
struct
, for example, but the difference between a
class
and a
struct
in C#
is completely different from C++. (That difference is actually one of the
lamest features of C++ and one of the most profound features of C#.) For
that reason and others, I approach object-oriented programming con-
cepts in this book almost as if you‘re learning about them for the very
first time.
However, I do expect you to have some programming experience with a
C-family language. If you‘re learning C# as a first programming language,
you might be better off with a slower, gentler introduction, such as my
book
Programming in the Key of C#: A Primer for Aspiring Programmers
(Microsoft Press, 2003).
Version 1.1
Page 2
.NET Book Zero
Charles Petzold
The contents of
.NET Book Zero
are copyrighted by me, but the book is
freely distributable. You can give it to whomever you want. You can make
copies. You can print it out and give it away. But you can‘t charge for it,
and you can‘t modify it, and you can‘t use any part of this book in anoth-
er work without my permission.
If you‘d like to reference this book on your own Web site, I ask that you
do so using a link to the page on my Web site where this book is found.
That page is:
http://www.charlespetzold.com/dotnet
That‘s the page where people can find the latest version of the book and
download the source code I show in the pages that follow.
If you like this book, perhaps you‘d like to read some other books I‘ve
written. Come to my web site,
www.charlespetzold.com
and check them
out. These other books aren‘t free, alas. They will cost you money. But
you will be pleased to know that I receive a small percentage of the price
you pay for each book. That money helps me pay my rent and feed my-
self, and enables me to write more books in the future.
In writing this book, I‘ve drawn upon some of my earlier writing about C#
and the .NET Framework. Some of the earlier chapters are revisions of
Chapter 1 in
Programming Microsoft Windows with C#
(Microsoft Press,
2001), which is an introduction to Windows Forms programming. Some
of the later chapters were drawn from appendices of that book. The chap-
ters specific to the object-oriented programming aspects of C# were
drawn from my book
Programming in the Key of C#
.
As a .NET programmer, you‘ll probably specialize in a particular aspect of
.NET, and you‘ll likely buy a couple books on that subject. But there are
two essential books that every C# and .NET programmer should have.
The first essential book is
The C# Programming Language
by Anders
Hejlsberg, Scott Wiltamuth, and Peter Golde (2
nd
edition, Addison-
Wesley, 2006). This book is the official technical specification of the C#
language. It is certainly not a tutorial for learning the language, but a
great book to read
after
you‘ve become adept at C# programming.
Downloadable versions of
The C# Programming Language
are available
under the title
C# Language Specification
from this Web page:
http://msdn2.microsoft.com/en-us/vcsharp/aa336809.aspx
Because the online title
C# Language Specification
is actually more
accurate than the book title
The C# Programming Language
, I will refer to
the online title rather than the book title when I sometimes refer to the
book using chapter and section numbers.
Version 1.1
Page 3
.NET Book Zero
Charles Petzold
The second essential .NET book is Jeffrey Richter‘s
CLR via C#
(Microsoft
Press, 2006), which is actually the second edition of
Applied Microsoft
.NET Framework Programming
. There are many subtle and interesting
aspects of .NET programming that Richter‘s book explores in much more
depth than you‘ll find in the pages ahead that I‘ve written.
In
.NET Book Zero
and my other books, I tend to focus more on the C#
language and the .NET Framework class libraries rather than Microsoft
Visual Studio. As you probably know, Visual Studio is the primary
programming environment for creating .NET applications. You might
want to supplement your C# and .NET studies with a book specific to
Visual Studio.
Because this book is intended to teach C# and the rudiments of .NET,
much of the code I show in the pages ahead targets the traditional (and
largely obsolete) command line using character-mode programming
interfaces. I am well aware that you‘ll probably eventually be coding for
graphical environments, and that you might consider learning about
character-mode programming to be a complete waste of your time. This
is not so. The character-formatting techniques you learn here are directly
applicable to graphical programming as well.
This book is written in tutorial style, which means that it is intended to
be read sequentially. The reader is encouraged to type in the programs as
they are encountered in the book, to run them, and experiment with
them.
* * *
Version 1.0 of this book was posted to
www.charlespetzold.com/dotnet
on December 4, 2006.
Version 1.1 was posted on January 1, 2007. It incorporated many minor
corrections reported by Larry Danielle, Paul Dougherty, Paul Duggan,
David Evans, Thorsten Franz, Konstantin Korobkov, Tyson Maxwell,
Ryan McFarren
, and
Larry Smith.
Version 1.1
Page 4
Plik z chomika:
najlepszecos
Inne pliki z tego folderu:
Algorytmy bez tajemnic (2013, Helion) - Thomas H. Cormen.rar
(52674 KB)
Java for Web Development (2014).pdf
(17287 KB)
Java. Kompendium programisty (duża).pdf
(81847 KB)
[PL]Enterprise-java-beans-head-first.pdf
(66177 KB)
[EN] HTML5 Hacks.epub
(17603 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Akta Epsteina 19.12.2025 - Departament Sprawiedliwości USA
Apk
AutoMapa 6.24 ( 2303 ) Polska Final Cracked
Cockos REAPER 7.29 - 64bit
Zgłoś jeśli
naruszono regulamin