C# 3.0 in a Nutshell: Table of Contents
Part 1 - The C# Language |
||
|
1. |
Introducing C# and the .NET framework |
|
| C# | ||
| The CLR and .NET Framework | ||
| What's new in C# 3.0 | ||
|
2. |
C# Language Basics |
|
| A First C# Program | ||
| Syntax | ||
| Type Basics | ||
| Numeric Types | ||
| The Boolean Type | ||
| Strings and Characters | ||
| Arrays | ||
| Variables and Parameters | ||
| Expressions and Operators | ||
| Statements | ||
| Namespaces | ||
|
3. |
Creating Types in C# |
|
| Classes | ||
| Inheritance | ||
| The object Type | ||
| Structs | ||
| Access Modifiers | ||
| Interfaces | ||
| Enums | ||
| Nested Types | ||
| Generics | ||
|
4. |
Advanced C# Features |
|
| Delegates | ||
| Events | ||
| Lambda Expressions | ||
| try Statements and Exceptions | ||
| Enumeration and Iterators | ||
| Nullable Types | ||
| Operator Overloading | ||
| Extension Methods | ||
| Anonymous Types | ||
| Attributes | ||
| Unsafe Code and Pointers | ||
| Preprocessor Directives | ||
| XML Documentation | ||
Part 2 - The .NET Framework |
||
|
5. |
Framework Overview |
|
| The CLR and Core Framework | ||
| Applied Technologies | ||
|
6. |
Framework Fundamentals |
|
| String and Text Handling | ||
| Dates and Times | ||
| Formatting and Parsing | ||
| Fomat Strings and Parsing Flags | ||
| Other Conversion Mechanisms | ||
| Working with Numbers | ||
| Enums | ||
| The Guid struct | ||
| Equality Comparison | ||
| Order Comparison | ||
| Utility Classes | ||
|
7. |
Collections |
|
| Enumeration | ||
| ICollection and ILlist | ||
| The Array Class | ||
| Lists, Queues, Stacks and Sets | ||
| Dictionaries | ||
| Customizable Collections | ||
| Plugging in Equality and Order | ||
|
8. |
LINQ Queries |
|
| Getting Started | ||
| Lambda Queries | ||
| Comprehension Queries | ||
| Deferred Execution | ||
| Subqueries | ||
| Composition Strategies | ||
| Projection Strategies | ||
| Interpreted Queries | ||
| LINQ to SQL | ||
| Building Query Expressions | ||
|
9. |
LINQ Operators |
|
| Overview | ||
| Filtering | ||
| Projection | ||
| Joining | ||
| Ordering | ||
| Grouping | ||
| Set Operators | ||
| Conversion Methods | ||
| Element Operators | ||
| Aggregation Methods | ||
| Quantifiers | ||
| Generation Methods | ||
|
10. |
LINQ to XML |
|
| X-DOM Overview | ||
| Instantiating an X-DOM | ||
| Navigating and Querying | ||
| Updating an X-DOM | ||
| Working with Values | ||
| Documents and Declarations | ||
| Names and Namespaces | ||
| Annotations | ||
| Projecting into an X-DOM | ||
|
11. |
Other XML Technologies |
|
| XmlReader | ||
| XmlWriter | ||
| Patterns for using XmlReader/XmlWriter | ||
| XmlDocument | ||
| XPath | ||
| XSD and Schema Validation | ||
| XSLT | ||
|
12. |
Disposal and Garbage Collection |
|
| IDisposable, Dispose and Close | ||
| Garbage Collection and Finalizers | ||
| Calling Dispose from a Finalizer | ||
| How the Garbage Collector Works | ||
| Alternatives to Garbage Collection | ||
|
13. |
Streams and I/O |
|
| Stream Architecture | ||
| Using Streams | ||
| Stream Adapters | ||
| File and Directory Operations | ||
| Compression | ||
| Isolated Storage | ||
|
14. |
Networking |
|
| Network Architecture | ||
| Addresses and Ports | ||
| URIs | ||
| Request/Response Architecture | ||
| HTTP-Specific Support | ||
| Writing an HTTP Server | ||
| Using FTP | ||
| Using DNS | ||
| Sending Mail with SmtpClient | ||
| Using TCP | ||
| Retrieving Mail with TCP | ||
|
15. |
Serialization |
|
| Serialization Concepts | ||
| The Data Contract Serializer | ||
| Data Contacts and Collections | ||
| Extending Data Contracts | ||
| The Binary Serializer | ||
| Binary Serialization Attributes | ||
| Implementing ISerializable | ||
| XML Serialization | ||
|
16. |
Assemblies |
|
| What's in an Assembly | ||
| Signing an Assembly | ||
| Assembly Names | ||
| The Global Assembly Cache | ||
| Resources and Satellite Assemblies | ||
| Resolving and Loading Assemblies | ||
| Deploying Assemblies outside the Base Folder | ||
| Packing a Single-file Executable | ||
| Working with Unreferenced Assemblies | ||
|
17. |
Reflection & Metadata |
|
| Reflecting and Activating Types | ||
| Reflecting and Invoking Members | ||
| Reflecting Assemblies | ||
| Working with Attributes | ||
| Dynamic Code Generation | ||
| Emitting Assemblies and Types | ||
| Emitting Type Members | ||
| Emitting Generic Types and Methods | ||
| Awkward Emission Targets | ||
| Parsing IL | ||
|
18. |
Security |
|
| Permissions | ||
| Code Access Security | ||
| Running in a Sandbox | ||
| Sandboxing another Assembly | ||
| Operating System Security | ||
| Identity and Role Security | ||
| Cryptography Overview | ||
| Windows Data Protection | ||
| Hashing | ||
| Symmetric Encryption | ||
| Public Key Encryption and Signing | ||
|
19. |
Threading |
|
| Threading's Uses and Misuses | ||
| Getting Started | ||
| Asynchronous Delegates | ||
| Synchronization | ||
| Locking | ||
| Thread Safety | ||
| Non-blocking Synchronization | ||
| Signaling with Event Wait Handles | ||
| Signaling with Wait and Pulse | ||
| Interrupt and Abort | ||
| BackgroundWorker | ||
| ReaderWriterLockSlim | ||
| Timers | ||
| Local Storage | ||
|
20. |
Asynchronous Methods |
|
| Why Asynchronous Methods Exist | ||
| Using Asynchronous Methods | ||
| Writing Asynchronous Methods | ||
| Fake Asynchronous Methods | ||
| Asynchronous Events | ||
|
21. |
Application Domains |
|
| Application Domain Architecture | ||
| Creating and Destroying App Domains | ||
| Using Multiple App Domains | ||
| Using DoCallback | ||
| Domains and Threads | ||
| Sharing Data between Domains | ||
|
22. |
Integrating with Native DLLs |
|
| Calling into DLLs | ||
| Marshaling Common Types | ||
| Marshaling Classes and Structs | ||
| In and Out Marshaling | ||
| Callbacks from Unmanaged Code | ||
| Simulating a C Union | ||
| Shared Memory | ||
| Mapping a Struct to a Binary Format | ||
| Predefined Interop Support Attributes | ||
|
23. |
Diagnostics |
|
| Conditional Compilation | ||
| Debug and Trace Classes | ||
| Debugger Integration | ||
| Processes and Process Threads | ||
| StackTrace and StackFrame | ||
| Event Logs | ||
| Performance Counters | ||
| The StopWatch class | ||
|
24. |
Regular Expressions |
|
| Regular Expressions Basics | ||
| Quantifiers | ||
| Zero-width Assertions | ||
| Groups | ||
| Replacing and Splitting Text | ||
| Cookbook Regular Expressions | ||
| Regular Expression Language Reference | ||
|
A. |
C# Keywords |
|
|
B. |
Namespace to Assembly Reference |
|
Page count: 850
© 2006-2007, O'Reilly Media, Inc. All rights reserved