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

C# 3.0 in a Nutshell
Buy from amazon.com Available now