241x Filetype PDF File size 2.76 MB Source: www.cesarkallas.net
Programming C#
Jesse Liberty
Publisher: O'Reilly
First Edition July 2001
ISBN: 0-596-00117-7, 680 pages
The goal of C# is to serve as a high-performance language for .NET development—one that is simple,
safe, object-oriented, and Internet-centric. Programming C# teaches this new language in a way that
experienced programmers will appreciate—by grounding its application firmly in the context of
Microsoft's .NET platform and the development of desktop and Internet applications.
2
Programming C#
Preface................................................................................................................................11
About This Book.........................................................................................................11
How the Book Is Organized...................................................................................11
Who This Book Is For...............................................................................................13
C# Versus Visual Basic .NET.................................................................................13
C# Versus Java...........................................................................................................14
C# versus C++...........................................................................................................14
Conventions Used in This Book............................................................................14
Support..........................................................................................................................15
We'd Like to Hear from You...................................................................................15
Acknowledgements...................................................................................................16
Part I: The C# Language..................................................................................................17
Chapter 1. C# and the .NET Framework.......................................................................17
1.1 The .NET Platform..............................................................................................17
1.2 The .NET Framework........................................................................................17
1.3 Compilation and the MSIL..............................................................................19
1.4 The C# Language...............................................................................................19
Chapter 2. Getting Started:"Hello World".......................................................................21
2.1 Classes, Objects, and Types..........................................................................21
2.2 Developing "Hello World"................................................................................26
Just In Time Compilation..................................................................................................29
2.3 Using the Visual Studio .NET Debugger....................................................29
Chapter 3. C# Language Fundamentals........................................................................33
3.1 Types......................................................................................................................33
The Stack and the Heap...................................................................................................34
3.2 Variables and Constants..................................................................................36
WriteLine( )..........................................................................................................................36
3.3 Expressions..........................................................................................................42
3.4 Whitespace...........................................................................................................42
3.5 Statements...........................................................................................................43
Statement Blocks...............................................................................................................46
All Operators Are Not Created Equal..............................................................................47
Whitespace and Braces....................................................................................................53
3.6 Operators..............................................................................................................56
Short-Circuit Evaluation....................................................................................................61
3.7 Namespaces.........................................................................................................63
3.8 Preprocessor Directives...................................................................................65
Chapter 4. Classes and Objects......................................................................................69
4.1 Defining Classes.................................................................................................69
4.2 Creating Objects.................................................................................................73
4.3 Using Static Members.......................................................................................78
Static Methods to Access Static Fields..........................................................................82
4.4 Destroying Objects............................................................................................82
How Finalize Works...........................................................................................................82
4.5 Passing Parameters...........................................................................................84
4.6 Overloading Methods and Constructors....................................................89
3
4.7 Encapsulating Data with Properties............................................................91
4.8 Readonly Fields...................................................................................................94
Chapter 5. Inheritance and Polymorphism....................................................................97
5.1 Specialization and Generalization................................................................97
About the Unified Modeling Language...........................................................................97
5.2 Inheritance...........................................................................................................99
5.3 Polymorphism....................................................................................................102
5.4 Abstract Classes...............................................................................................107
5.5 The Root of all Classes: Object..................................................................110
5.6 Boxing and Unboxing Types........................................................................112
5.7 Nesting Classes.................................................................................................114
Chapter 6. Operator Overloading..................................................................................117
6.1 Using the operator Keyword........................................................................117
6.2 Supporting Other .NET Languages............................................................118
6.3 Creating Useful Operators............................................................................118
6.4 Logical Pairs.......................................................................................................118
6.5 The Equals Operator.......................................................................................118
6.6 Conversion Operators.....................................................................................119
Chapter 7. Structs............................................................................................................125
7.1 Defining Structs................................................................................................125
7.2 Creating Structs................................................................................................127
Chapter 8. Interfaces.......................................................................................................131
Mix Ins...............................................................................................................................131
8.1 Implementing an Interface..........................................................................131
8.2 Accessing Interface Methods.......................................................................141
8.3 Overriding Interface Implementations....................................................147
8.4 Explicit Interface Implementation.............................................................150
Chapter 9. Arrays, Indexers, and Collections..............................................................159
9.1 Arrays...................................................................................................................159
9.2 The foreach Statement..................................................................................162
9.3 Indexers...............................................................................................................175
9.4 Collection Interfaces.......................................................................................182
9.5 Array Lists...........................................................................................................187
9.6 Queues.................................................................................................................197
9.7 Stacks...................................................................................................................199
9.8 Dictionaries.........................................................................................................202
Load Factor.......................................................................................................................204
Chapter 10. Strings and Regular Expressions............................................................209
10.1 Strings...............................................................................................................209
Delimiter Limitations........................................................................................................222
10.2 Regular Expressions.....................................................................................222
Chapter 11. Handling Exceptions..................................................................................233
11.1 Throwing and Catching Exceptions........................................................233
11.2 Exception Objects..........................................................................................241
11.3 Custom Exceptions.......................................................................................244
11.4 Rethrowing Exceptions................................................................................246
Chapter 12. Delegates and Events...............................................................................251
12.1 Delegates..........................................................................................................251
4
no reviews yet
Please Login to review.