I have read many (and I do mean many) software books (including all those on my way to my grad degree.) Jesse Liberty is one of the best. This was the first book I bought by him and he is on the top of my list of great writers in the technical field. I usually only write reviews if something is really good or really bad. This book is really good. I have read it cover to cover and refer to it often! It is the first book I grab when I have a C# question. If you need a great intro - reference, this is it.
Author(s): Jesse Liberty
Edition: 2
Publisher: O'Reilly Media
Year: 2002
Language: English
Commentary: +OCR
Pages: 586
Cover......Page 1
Table of Contents......Page 3
How the Book Is Organized......Page 7
C# Versus Java......Page 10
Support......Page 11
We'd Like to Hear from You......Page 12
Acknowledgments......Page 13
I: The C# Language......Page 14
1.1 The .NET Platform......Page 15
1.2 The .NET Framework......Page 16
1.3 Compilation and the MSIL......Page 17
1.4 The C# Language......Page 18
2.1 Classes, Objects, and Types......Page 20
2.2 Developing "Hello World"......Page 26
2.3 Using the Visual Studio .NET Debugger......Page 29
3.1 Types......Page 32
3.2 Variables and Constants......Page 36
3.4 Whitespace......Page 42
3.5 Statements......Page 43
3.6 Operators......Page 57
3.7 Namespaces......Page 65
3.8 Preprocessor Directives......Page 66
4.1 Defining Classes......Page 70
4.2 Creating Objects......Page 75
4.3 Using Static Members......Page 80
4.4 Destroying Objects......Page 84
4.5 Passing Parameters......Page 87
4.6 Overloading Methods and Constructors......Page 92
4.7 Encapsulating Data with Properties......Page 94
4.8 Readonly Fields......Page 97
5.1 Specialization and Generalization......Page 99
5.2 Inheritance......Page 101
5.3 Polymorphism......Page 105
5.4 Abstract Classes......Page 110
5.5 The Root of all Classes: Object......Page 114
5.6 Boxing and Unboxing Types......Page 115
5.7 Nesting Classes......Page 117
6.1 Using the operator Keyword......Page 120
6.5 The Equals Operator......Page 121
6.6 Conversion Operators......Page 122
7.1 Defining Structs......Page 129
7.2 Creating Structs......Page 131
8.1 Implementing an Interface......Page 136
8.2 Accessing Interface Methods......Page 144
8.3 Overriding Interface Implementations......Page 149
8.4 Explicit Interface Implementation......Page 153
9.1 Arrays......Page 162
9.2 The foreach Statement......Page 166
9.3 Indexers......Page 179
9.4 Collection Interfaces......Page 187
9.5 Array Lists......Page 192
9.6 Queues......Page 202
9.7 Stacks......Page 204
9.8 Dictionaries......Page 207
10.1 Strings......Page 214
10.2 Regular Expressions......Page 228
11.1 Throwing and Catching Exceptions......Page 239
11.2 Exception Objects......Page 248
11.3 Custom Exceptions......Page 251
11.4 Rethrowing Exceptions......Page 253
12.1 Delegates......Page 257
12.2 Events......Page 276
II: Programming with C#......Page 285
13. Building Windows Applications......Page 286
13.1 Creating a Simple Windows Form......Page 287
13.2 Creating a Windows Form Application......Page 298
13.3 XML Documentation Comments......Page 320
13.4 Deploying an Application......Page 322
14.1 Relational Databases and SQL......Page 332
14.2 The ADO.NET Object Model......Page 335
14.3 Getting Started with ADO.NET......Page 337
14.4 Using OLE DB Managed Providers......Page 341
14.5 Working with Data-Bound Controls......Page 343
14.6 Changing Database Records......Page 354
14.7 ADO.NET and XML......Page 369
15.1 Understanding Web Forms......Page 370
15.2 Creating a Web Form......Page 373
15.3 Adding Controls......Page 376
15.4 Data Binding......Page 378
15.5 Responding to Postback Events......Page 386
15.6 ASP.NET and C#......Page 387
16.1 SOAP, WSDL, and Discovery......Page 388
16.2 Building a Web Service......Page 389
16.3 Creating the Proxy......Page 395
III: Introduction to Web Services......Page 400
17.3 Security Boundary......Page 401
17.5 Manifests......Page 402
17.6 Multi-Module Assemblies......Page 404
17.8 Shared Assemblies......Page 412
18.2 Intrinsic Attributes......Page 418
18.3 Custom Attributes......Page 420
18.4 Reflection......Page 424
18.5 Reflection Emit......Page 434
19. Marshaling and Remoting......Page 457
19.1 Application Domains......Page 458
19.2 Context......Page 467
19.3 Remoting......Page 469
20.1 Threads......Page 479
20.2 Synchronization......Page 487
20.3 Race Conditions and Deadlocks......Page 497
21.1 Files and Directories......Page 499
21.2 Reading and Writing Data......Page 509
21.3 Asynchronous I/O......Page 515
21.4 Network I/O......Page 520
21.5 Web Streams......Page 537
21.6 Serialization......Page 540
21.7 Isolated Storage......Page 548
22.1 Importing ActiveX Controls......Page 551
22.2 Importing COM Components......Page 558
22.3 Exporting .NET Components......Page 566
22.4 P/Invoke......Page 568
22.5 Pointers......Page 571
Glossary......Page 576
Colophon......Page 586