C# in a Nutshell, Second Edition
By
Peter Drayton,
Ben Albahari,
Ted Neward
August 2003
Pages: 924
| Table of Contents
| Index
| Sample Chapter
| Colophon
Table of Contents
-
Programming with C#
-
Chapter 1 Introducing C# and the .NET Framework
- The C# Language
- The .NET Framework
- ECMA Standardization
- Changes in Visual C# 2003
-
Chapter 2 C# Language Basics
- A First C# Program
- Identifiers and Keywords
- Type Basics
- Value Types and Reference Types
- Predefined Types
- Arrays
- Variables and Parameters
- Expressions and Operators
- Statements
- Namespaces
-
Chapter 3 Creating Types in C#
- Classes
- Inheritance
- Access Modifiers
- Structs
- Interfaces
- Enums
-
Chapter 4 Advanced C# Features
- Delegates
- Delegates Versus Function Pointers
- Delegates Versus Interfaces
- Events
- Operator Overloading
- Try Statements and Exceptions
- Attributes
- Unsafe Code and Pointers
- Preprocessor Directives
- XML Documentation
-
Programming with the .NET Framework
-
Chapter 5 Framework Class Library Overview
- Core Types
- Text
- Collections
- Streams and I/O
- Networking
- Threading
- Security
- Reflection and Metadata
- Assemblies
- Serialization
- Remoting
- Web Services
- Data Access
- XML
- Graphics
- Rich Client Applications
- Web-Based Applications
- Globalization
- Configuration
- Advanced Component Services
- Diagnostics and Debugging
- Interoperating with Unmanaged Code
- Compiler and Tool Support
- Runtime Facilities
- Native OS Facilities
- Undocumented Types
-
Chapter 6 String Handling
- String Class
- StringBuilder Class
- Regular Expression Support
- Regular Expression Basics
- Procedural- and Expression-Based Patterns
- Cookbook Regular Expressions
-
Chapter 7 Collections
- Iterating Over Collections
- Standard Collection Interfaces
- Predefined Collection Classes
- Ordering Instances
- Generating Hash Code
-
Chapter 8 XML I/O
- Accessing XML Documents
- Parsing an XML Stream
- Selecting Nodes Using XPath
- Transforming a Document Using XSLT
-
Chapter 9 Networking
- Network Programming Models
- Generic Request/Response Architecture
- HTTP-Specific Support
- WebClient
- Adding New Protocol Handlers
- Using TCP, UDP, and Sockets
- Using DNS
-
Chapter 10 Streams and I/O
- Streams and Backing Stores
- Encapsulating Raw Streams
- Directories and Files
- Isolated Storage
-
Chapter 11 Serialization
- What Is Serialization?
- Serialization Support in the Framework
- Explicit Serialization
- Implicit Serialization
- [Serializable]
- [NonSerialized]
- IDeserializationCallback
- ISerializable
- [Serializable] and ISerializable
-
Chapter 12 Assemblies
- Elements of an Assembly
- Assemblies and Modules
- Scoping Types and Type References
- Naming and Signing Assemblies
- Resolving and Loading Assemblies
- Deployment
- Security Permissions
-
Chapter 13 Reflection
- Type Hierarchy
- Types, Members, and Nested Types
- Retrieving the Type for an Instance
- Retrieving a Type Directly
- Reflecting Over a Type Hierarchy
- Late Binding
- Advanced Uses of Reflection
- Creating New Types at Runtime
-
Chapter 14 Custom Attributes
- Language Support
- Compiler Support
- Runtime Support
- Predefined Attributes
- Defining a New Custom Attribute
- Retrieving a Custom Attribute at Runtime
-
Chapter 15 Memory Management
- The Garbage Collector
- Optimization Techniques
- Finalizers
- Dispose and Close Methods
-
Chapter 16 Threading
- Thread Synchronization
- Common Thread Types
- Asynchronous Delegates
-
Chapter 17 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
- Mapping a Struct to a Binary Format
- Predefined Interop Support Attributes
-
Chapter 18 Integrating with COM Components
- Binding COM and C# Objects
- Exposing COM Objects to C#
- Exposing C# Objects to COM
- COM Mapping in C#
- Common COM Interop Support Attributes
- COM+ Support
-
Chapter 19 Diagnostics
- Logging and Assertion Facilities
- Conditional Compilation
- Debugger Integration
- Processes, Threads, and Stacks
- Event Logs
- Performance Counters
-
Chapter 20 C# Language Reference
-
Language and Tools Reference
-
Chapter 21 XML Documentation Tag Reference
-
Chapter 22 C# Naming and Coding Conventions
- Case
- Mechanics
- Word Choice
- Namespaces
-
Chapter 23 C# Development Tools
-
API Quick Reference
-
Chapter 24 How to Use This Quick Reference
- Finding a Quick-Reference Entry
- Reading a Quick-Reference Entry
-
Chapter 25 The Microsoft.Win32 Namespace
-
Chapter 26 System
-
Chapter 27 System.Collections
-
Chapter 28 System.Collections.Specialized
-
Chapter 29 System.Diagnostics
-
Chapter 30 System.Globalization
-
Chapter 31 System.IO
-
Chapter 32 System.IO.IsolatedStorage
-
Chapter 33 System.Net
-
Chapter 34 System.Net.Sockets
-
Chapter 35 System.Reflection
-
Chapter 36 System.Reflection.Emit
-
Chapter 37 System.Runtime.InteropServices
-
Chapter 38 System.Runtime.Serialization
-
Chapter 39 System.Runtime.Serialization.Formatters
-
Chapter 40 System.Text
-
Chapter 41 System.Text.RegularExpressions
-
Chapter 42 System.Threading
-
Chapter 43 System.Timers
-
Chapter 44 System.Xml
-
Chapter 45 System.Xml.XPath
-
Chapter 46 System.Xml.Xsl
-
Appendixes
-
Appendix A Regular Expressions
-
Appendix B Format Specifiers
- Picture Format Specifiers
- DateTime Format Specifiers
-
Appendix C Data Marshaling
-
Appendix D C# Keywords
-
Appendix E Namespaces and Assemblies
-
Appendix F Type, Method, Property, Event, and Field Index
-
A-D
-
E-I
-
J-R
-
S-Z
-
Colophon
Return to C# in a Nutshell