You are previewing C# in a Nutshell, Second Edition.
O'Reilly logo
C# in a Nutshell, Second Edition

Book Description

C# in a Nutshell provides C# programmers with a concise and thorough reference to the language in one straightforward and accessible volume. Designed as a handbook for daily use, this book is an essential guide to the C# language and the base class APIs of the .NET Framework. Programmers will want to keep this book next to their keyboards for years to come. The heart of the book is a succinct but detailed reference to the C# language and the .NET types most essential to C# programmers. Each chapter in the API reference begins with an overview of a .NET namespace and a diagram of its types, including a quick-reference entry for each type, with name, assembly, category, description, member availability, class hierarchy, and other relevant information, such as whether the type is part o the ECMA CLI specification. Newly updated for .NET Framework version 1.1, the second edition also adds a CD that allows you to integrate the book's API Quick Reference directly into the help files of Visual Studio .NET 2002 & 2003, giving you direct access to this valuable information via your computer. In addition to the API reference section, this book includes:

  • An accelerated introduction to the C# language and the .NET Common Language Runtime

  • A tutorial section on using C# with the core classes of the .NET Framework Class Library to perform common tasks such as manipulating strings, I/O, and interacting with legacy components

  • Comprehensive language and tool reference chapters, including a C# syntax summary, a list of XML documentation tags, and a guide to command-line tools that ship with Visual Studio .NET and the .NET Framework

  • Appendixes with reference tables for regular expression syntax, format specifiers, a C# keyword glossary, namespace/assembly cross-reference, and a type and member index for determining in which type a method or field is defined.

Every once in a while, a book becomes the de-facto standard for a technology, operating system, or programming language--which is exactly what C# in a Nutshell has done in a single straightforward and easy to use volume. There is no more complete, up-to-date reference to the C# Language available.

Table of Contents

  1. C# in a Nutshell, 2nd Edition
    1. Preface
      1. Audience
      2. Contents of This Book
      3. Assumptions This Book Makes
      4. Conventions Used in This Book
      5. Related Books
      6. C# Resources Online
      7. How to Contact Us
      8. How the Quick Reference Is Generated
      9. Acknowledgments
        1. Peter Drayton
        2. Ben Albahari
        3. Ted Neward
    2. I. Programming with C#
      1. 1. Introducing C# and the .NET Framework
        1. The C# Language
          1. Enabling Component-Based Development
          2. A Modern Object-Oriented Language
          3. Building Robust and Durable Software
          4. A Pragmatic World View
        2. The .NET Framework
          1. The Common Language Runtime
          2. Compilation and Execution Model
          3. The Common Type System
          4. The Common Language Specification
          5. The Framework Class Library
        3. ECMA Standardization
        4. Changes in Visual C# 2003
      2. 2. C# Language Basics
        1. A First C# Program
        2. Identifiers and Keywords
        3. Type Basics
          1. The String Class
          2. The int Struct
          3. A Custom Type
          4. Type Instances
          5. Conversions
        4. Value Types and Reference Types
          1. Value Types
          2. Reference Types
          3. The Heap and the Stack
            1. Value types and reference types side-by-side
          4. Type System Unification
            1. Simple types are value types
            2. Value types expand the set of simple types
            3. Boxing and unboxing value types
        5. Predefined Types
          1. Integral Types
            1. Integral conversions
          2. Floating-Point Types
            1. Floating-point conversions
          3. Decimal Type
            1. Decimal conversions
          4. Char Type
            1. Char conversions
          5. Bool Type
            1. Bool conversions
          6. Object Type
          7. String Type
        6. Arrays
          1. Multidimensional Arrays
          2. Local Field Array Declarations
          3. Array Length and Rank
          4. Bounds Checking
          5. Array Conversions
        7. Variables and Parameters
          1. Definite Assignment
          2. Default Values
          3. Parameters
            1. Passing arguments by value
            2. Ref modifier
            3. The out modifier
            4. The params modifier
        8. Expressions and Operators
          1. Operator Precedence
          2. Arithmetic Overflow Check Operators
        9. Statements
          1. Expression Statements
          2. Declaration Statements
          3. Selection Statements
            1. The if-else statement
            2. The switch statement
          4. Loop Statements
            1. while loops
            2. do-while loops
            3. for loops
            4. foreach loops
          5. Jump Statements
            1. The break statement
            2. The continue statement
            3. The goto statement
            4. The return statement
            5. The throw statement
            6. The lock statement
            7. The using statement
        10. Namespaces
          1. Files
          2. Namespaces
            1. Nesting namespaces
            2. Using a type with its fully qualified name
            3. The using keyword
            4. Aliasing types and namespaces
            5. Global namespace
      3. 3. Creating Types in C#
        1. Classes
          1. The this Keyword
          2. Fields
            1. Nonstatic fields
            2. The readonly modifier
          3. Constants
          4. Properties
          5. Indexers
          6. Methods
            1. Signatures
            2. Overloading methods
          7. Instance Constructors
            1. Field initialization order
            2. Constructor access modifiers
          8. Static Constructors
            1. Static field initialization order
            2. Nondeterminism of static constructors
          9. Destructors and Finalizers
          10. Nested Types
        2. Inheritance
          1. Class Conversions
            1. The as operator
            2. The is operator
          2. Polymorphism
          3. Virtual Function Members
          4. Abstract Classes and Abstract Members
          5. Sealed Classes
          6. Hiding Inherited Members
          7. Advanced Features of Virtual Function Members
            1. Versionioning virtual function members
            2. Sealed virtual function members
            3. Overriding a virtual function member
          8. The base Keyword
          9. Constructor and Field Initialization in the Inheritance Chain
        3. Access Modifiers
          1. Restrictions on Access Modifiers
        4. Structs
        5. Interfaces
          1. Defining an Interface
          2. Implementing an Interface
          3. Using an Interface
          4. Extending an Interface
          5. Explicit Interface Implementation
          6. Reimplementing an Interface
          7. Interface Conversions
        6. Enums
          1. Enum Operators
          2. Enum Conversions
      4. 4. Advanced C# Features
        1. Delegates
          1. Multicast Delegates
        2. Delegates Versus Function Pointers
        3. Delegates Versus Interfaces
        4. Events
          1. Defining a Delegate for an Event
          2. Storing Data for an Event with EventArgs
          3. Declaring and Firing an Event
          4. Acting on an Event with an Event Handler
          5. Event Accessors
        5. Operator Overloading
          1. Implementing Value Equality
          2. Logically Paired Operators
          3. Custom Implicit and Explicit Conversions
          4. Three-State Logic Operators
          5. Indirectly Overloadable Operators
        6. Try Statements and Exceptions
          1. Exceptions
          2. The catch Clause
            1. Omitting the exception variable
            2. Omitting the catch expression
            3. Specifying multiple catch clauses
          3. The finally Block
          4. Key Properties of System.Exception
        7. Attributes
          1. Attribute Classes
          2. Named and Positional Parameters
          3. Attribute Targets
          4. Specifying Multiple Attributes
        8. Unsafe Code and Pointers
          1. Pointer Basics
          2. Unsafe Code
          3. The fixed Statement
          4. The Pointer-to-Member Operator
          5. The stackalloc Keyword
          6. Void*
          7. Pointers to Unmanaged Code
        9. Preprocessor Directives
        10. XML Documentation
          1. C/C++-Style Comments
          2. Documentation Comments
          3. XML Documentation Files
          4. Predefined XML Tags
          5. User-Defined Tags
          6. Generated Documentation
          7. Type or Member Cross-References
    3. II. Programming with the .NET Framework
      1. 5. Framework Class Library Overview
        1. Core Types
        2. Text
        3. Collections
        4. Streams and I/O
        5. Networking
        6. Threading
        7. Security
        8. Reflection and Metadata
        9. Assemblies
        10. Serialization
        11. Remoting
        12. Web Services
        13. Data Access
        14. XML
        15. Graphics
        16. Rich Client Applications
        17. Web-Based Applications
        18. Globalization
        19. Configuration
        20. Advanced Component Services
        21. Diagnostics and Debugging
        22. Interoperating with Unmanaged Code
        23. Compiler and Tool Support
        24. Runtime Facilities
        25. Native OS Facilities
        26. Undocumented Types
      2. 6. String Handling
        1. String Class
          1. Comparing Strings
          2. Immutability of Strings
          3. String Interning
          4. Formatting Strings
          5. Indexing Strings
          6. Encoding Strings
        2. StringBuilder Class
        3. Regular Expression Support
          1. The Regex Class
          2. The Match and MatchCollection Classes
          3. The Group Class
          4. The Capture and Capture Collection Classes
        4. Regular Expression Basics
        5. Procedural- and Expression-Based Patterns
          1. Procedural-Based Patterns
          2. Expression-Based Patterns
        6. Cookbook Regular Expressions
      3. 7. Collections
        1. Iterating Over Collections
          1. IEnumerable and IEnumerator Interfaces
          2. Implementing IEnumerable and IEnumerator
          3. Optimizing foreach
          4. IDictionaryEnumerator Interface
        2. Standard Collection Interfaces
          1. ICollection Interface
          2. IList Interface
          3. IDictionary Interface
        3. Predefined Collection Classes
          1. The Array Class
          2. The ArrayList Class
          3. The Hashtable Class
          4. The Queue Class
          5. The Stack Class
          6. The BitArray Class
          7. The SortedList Class
          8. The StringCollection Class
          9. The StringDictionary Class
        4. Ordering Instances
          1. The IComparable Interface
          2. The IComparer Interface
        5. Generating Hash Code
          1. The Object.GetHashCode Method
      4. 8. XML I/O
        1. Accessing XML Documents
          1. XmlReader
          2. XmlWriter
        2. Parsing an XML Stream
        3. Selecting Nodes Using XPath
        4. Transforming a Document Using XSLT
      5. 9. Networking
        1. Network Programming Models
        2. Generic Request/Response Architecture
        3. HTTP-Specific Support
        4. WebClient
        5. Adding New Protocol Handlers
        6. Using TCP, UDP, and Sockets
        7. Using DNS
      6. 10. Streams and I/O
        1. Streams and Backing Stores
          1. The Abstract Stream Class
          2. Concrete Stream-Derived Classes
        2. Encapsulating Raw Streams
          1. The BinaryReader and BinaryWriter Classes
          2. The Abstract TextReader and TextWriter Classes
          3. The StreamReader and StreamWriter Classes
          4. The StringReader and StringWriter Classes
        3. Directories and Files
          1. Reading and Writing Files
          2. Examining Directories
          3. Catching Filesystem Events
          4. Asynchronous I/O
        4. Isolated Storage
          1. Reading and Writing Isolated Storage
          2. Enumerating the Contents of Isolated Storage
      7. 11. Serialization
        1. What Is Serialization?
        2. Serialization Support in the Framework
        3. Explicit Serialization
        4. Implicit Serialization
        5. [Serializable]
        6. [NonSerialized]
        7. IDeserializationCallback
        8. ISerializable
        9. [Serializable] and ISerializable
      8. 12. Assemblies
        1. Elements of an Assembly
        2. Assemblies and Modules
        3. Scoping Types and Type References
        4. Naming and Signing Assemblies
        5. Resolving and Loading Assemblies
        6. Deployment
        7. Security Permissions
      9. 13. Reflection
        1. Type Hierarchy
        2. Types, Members, and Nested Types
          1. Assemblies and Modules
          2. AppDomains
        3. Retrieving the Type for an Instance
        4. Retrieving a Type Directly
        5. Reflecting Over a Type Hierarchy
        6. Late Binding
          1. Activation
        7. Advanced Uses of Reflection
        8. Creating New Types at Runtime
      10. 14. Custom Attributes
        1. Language Support
        2. Compiler Support
        3. Runtime Support
        4. Predefined Attributes
          1. The AttributeUsage Attribute
          2. The Conditional Attribute
          3. The Obsolete Attribute
          4. The CLSCompliant Attribute
          5. The Serializable Attribute
          6. The NonSerialized attribute
        5. Defining a New Custom Attribute
        6. Retrieving a Custom Attribute at Runtime
      11. 15. Memory Management
        1. The Garbage Collector
        2. Optimization Techniques
        3. Finalizers
        4. Dispose and Close Methods
      12. 16. Threading
        1. Thread Synchronization
          1. The lock Statement
          2. Pulse and Wait Operations
          3. Deadlocks
          4. Atomic Operations
        2. Common Thread Types
          1. The Monitor Class
          2. The Enter and Exit Methods
          3. The TryEnter Methods
          4. The Wait Methods
          5. The Pulse and PulseAll Methods
        3. Asynchronous Delegates
      13. 17. Integrating with Native DLLs
        1. Calling Into DLLs
        2. Marshaling Common Types
        3. Marshaling Classes and Structs
        4. In and Out Marshaling
        5. Callbacks from Unmanaged Code
        6. Simulating a C Union
        7. Mapping a Struct to a Binary Format
        8. Predefined Interop Support Attributes
          1. The DllImport Attribute
          2. The StructLayout Attribute
          3. The FieldOffset Attribute
          4. The MarshalAs Attribute
          5. The In Attribute
          6. The Out Attribute
      14. 18. Integrating with COM Components
        1. Binding COM and C# Objects
        2. Exposing COM Objects to C#
        3. Exposing C# Objects to COM
        4. COM Mapping in C#
        5. Common COM Interop Support Attributes
        6. COM+ Support
          1. What Is COM+?
          2. Using COM+ Services with CLR Classes
      15. 19. Diagnostics
        1. Logging and Assertion Facilities
        2. Conditional Compilation
        3. Debugger Integration
        4. Processes, Threads, and Stacks
          1. Launching a New Process
          2. Examining Running Processes
          3. Examining Threads in a Process
          4. Examining Stack Frames for a Thread
        5. Event Logs
          1. Reading the Event Log
          2. Writing to the Event Log
          3. Monitoring the Event Log
        6. Performance Counters
          1. Enumerating the Available Counters
          2. Reading Performance Counter Data
          3. Adding a New Performance Counter
      16. 20. C# Language Reference
    4. III. Language and Tools Reference
      1. 21. XML Documentation Tag Reference
      2. 22. C# Naming and Coding Conventions
        1. Case
        2. Mechanics
        3. Word Choice
        4. Namespaces
      3. 23. C# Development Tools
        1. ADepends.exe
        2. Al.exe
        3. Cordbg.exe
        4. Csc.exe
        5. DbgCLR.exe
        6. GacUtil.exe
        7. ILasm.exe
        8. ILDasm.exe
        9. InstallUtil.exe
        10. Ngen.exe
        11. Nmake.exe
        12. PEVerify.exe
        13. RegAsm.exe
        14. RegSvcs.exe
        15. Sn.exe
        16. SoapSuds.exe
        17. TlbExp.exe
        18. TlbImp.exe
        19. Wsdl.exe
        20. WinCV.exe
        21. Xsd.exe
    5. IV. API Quick Reference
      1. 24. How to Use This Quick Reference
        1. Finding a Quick-Reference Entry
        2. Reading a Quick-Reference Entry
          1. Type Name, Namespace, Assembly, Type Category, and Flags
          2. Description
          3. Synopsis
            1. Member availability and flags
            2. Functional grouping of members
          4. Class Hierarchy
          5. Cross References
          6. A Note About Type Names
      2. 25. The Microsoft.Win32 Namespace
        1. PowerModeChangedEventArgs
        2. PowerModeChangedEventHandler
        3. PowerModes
        4. Registry
        5. RegistryHive
        6. RegistryKey
        7. SessionEndedEventArgs
        8. SessionEndedEventHandler
        9. SessionEndingEventArgs
        10. SessionEndingEventHandler
        11. SessionEndReasons
        12. SystemEvents
        13. TimerElapsedEventArgs
        14. TimerElapsedEventHandler
        15. UserPreferenceCategory
        16. UserPreferenceChangedEventArgs
        17. UserPreferenceChangedEventHandler
        18. UserPreferenceChangingEventArgs
        19. UserPreferenceChangingEventHandler
      3. 26. System
        1. Activator
        2. AppDomain
        3. AppDomainSetup
        4. AppDomainUnloadedException
        5. ApplicationException
        6. ArgIterator
        7. ArgumentException
        8. ArgumentNullException
        9. ArgumentOutOfRangeException
        10. ArithmeticException
        11. Array
        12. ArrayTypeMismatchException
        13. AssemblyLoadEventArgs
        14. AssemblyLoadEventHandler
        15. AsyncCallback
        16. Attribute
        17. AttributeTargets
        18. AttributeUsageAttribute
        19. BadImageFormatException
        20. BitConverter
        21. Boolean
        22. Buffer
        23. Byte
        24. CannotUnloadAppDomainException
        25. Char
        26. CharEnumerator
        27. CLSCompliantAttribute
        28. Console
        29. ContextBoundObject
        30. ContextMarshalException
        31. ContextStaticAttribute
        32. Convert
        33. CrossAppDomainDelegate
        34. DateTime
        35. DayOfWeek
        36. DBNull
        37. Decimal
        38. Delegate
        39. DivideByZeroException
        40. DllNotFoundException
        41. Double
        42. DuplicateWaitObjectException
        43. EntryPointNotFoundException
        44. Enum
        45. Environment
        46. Environment.SpecialFolder
        47. EventArgs
        48. EventHandler
        49. Exception
        50. ExecutionEngineException
        51. FieldAccessException
        52. FlagsAttribute
        53. FormatException
        54. GC
        55. Guid
        56. IAsyncResult
        57. ICloneable
        58. IComparable
        59. IConvertible
        60. ICustomFormatter
        61. IDisposable
        62. IFormatProvider
        63. IFormattable
        64. IndexOutOfRangeException
        65. Int16
        66. Int32
        67. Int64
        68. IntPtr
        69. InvalidCastException
        70. InvalidOperationException
        71. InvalidProgramException
        72. IServiceProvider
        73. LoaderOptimization
        74. LoaderOptimizationAttribute
        75. LocalDataStoreSlot
        76. MarshalByRefObject
        77. Math
        78. MemberAccessException
        79. MethodAccessException
        80. MissingFieldException
        81. MissingMemberException
        82. MissingMethodException
        83. MTAThreadAttribute
        84. MulticastDelegate
        85. MulticastNotSupportedException
        86. NonSerializedAttribute
        87. NotFiniteNumberException
        88. NotImplementedException
        89. NotSupportedException
        90. NullReferenceException
        91. Object
        92. ObjectDisposedException
        93. ObsoleteAttribute
        94. OperatingSystem
        95. OutOfMemoryException
        96. OverflowException
        97. ParamArrayAttribute
        98. PlatformID
        99. PlatformNotSupportedException
        100. Random
        101. RankException
        102. ResolveEventArgs
        103. ResolveEventHandler
        104. RuntimeTypeHandle
        105. SByte
        106. SerializableAttribute
        107. Single
        108. StackOverflowException
        109. STAThreadAttribute
        110. String
        111. SystemException
        112. ThreadStaticAttribute
        113. TimeSpan
        114. TimeZone
        115. Type
        116. TypeCode
        117. TypeInitializationException
        118. TypeLoadException
        119. TypeUnloadedException
        120. UInt16
        121. UInt32
        122. UInt64
        123. UIntPtr
        124. UnauthorizedAccessException
        125. UnhandledExceptionEventArgs
        126. UnhandledExceptionEventHandler
        127. Uri
        128. UriBuilder
        129. UriFormatException
        130. UriHostNameType
        131. UriPartial
        132. ValueType
        133. Version
        134. Void
        135. WeakReference
      4. 27. System.Collections
        1. ArrayList
        2. BitArray
        3. CaseInsensitiveComparer
        4. CaseInsensitiveHashCodeProvider
        5. CollectionBase
        6. Comparer
        7. DictionaryBase
        8. DictionaryEntry
        9. Hashtable
        10. ICollection
        11. IComparer
        12. IDictionary
        13. IDictionaryEnumerator
        14. IEnumerable
        15. IEnumerator
        16. IHashCodeProvider
        17. IList
        18. Queue
        19. ReadOnlyCollectionBase
        20. SortedList
        21. Stack
      5. 28. System.Collections.Specialized
        1. BitVector32
        2. BitVector32.Section
        3. CollectionsUtil
        4. HybridDictionary
        5. ListDictionary
        6. NameObjectCollectionBase
        7. NameObjectCollectionBase.KeysCollection
        8. NameValueCollection
        9. StringCollection
        10. StringDictionary
        11. StringEnumerator
      6. 29. System.Diagnostics
        1. BooleanSwitch
        2. ConditionalAttribute
        3. CounterCreationData
        4. CounterCreationDataCollection
        5. CounterSample
        6. CounterSampleCalculator
        7. Debug
        8. DebuggableAttribute
        9. Debugger
        10. DebuggerHiddenAttribute
        11. DebuggerStepThroughAttribute
        12. DefaultTraceListener
        13. EntryWrittenEventArgs
        14. EntryWrittenEventHandler
        15. EventLog
        16. EventLogEntry
        17. EventLogEntryCollection
        18. EventLogEntryType
        19. EventLogInstaller
        20. EventLogPermission
        21. EventLogPermissionAccess
        22. EventLogPermissionAttribute
        23. EventLogPermissionEntry
        24. EventLogPermissionEntryCollection
        25. EventLogTraceListener
        26. FileVersionInfo
        27. InstanceData
        28. InstanceDataCollection
        29. InstanceDataCollectionCollection
        30. MonitoringDescriptionAttribute
        31. PerformanceCounter
        32. PerformanceCounterCategory
        33. PerformanceCounterInstaller
        34. PerformanceCounterPermission
        35. PerformanceCounterPermissionAccess
        36. PerformanceCounterPermissionAttribute
        37. PerformanceCounterPermissionEntry
        38. PerformanceCounterPermissionEntryCollection
        39. PerformanceCounterType
        40. Process
        41. ProcessModule
        42. ProcessModuleCollection
        43. ProcessPriorityClass
        44. ProcessStartInfo
        45. ProcessThread
        46. ProcessThreadCollection
        47. ProcessWindowStyle
        48. StackFrame
        49. StackTrace
        50. Switch
        51. TextWriterTraceListener
        52. ThreadPriorityLevel
        53. ThreadState
        54. ThreadWaitReason
        55. Trace
        56. TraceLevel
        57. TraceListener
        58. TraceListenerCollection
        59. TraceSwitch
      7. 30. System.Globalization
        1. Calendar
        2. CalendarWeekRule
        3. CompareInfo
        4. CompareOptions
        5. CultureInfo
        6. CultureTypes
        7. DateTimeFormatInfo
        8. DateTimeStyles
        9. DaylightTime
        10. GregorianCalendar
        11. GregorianCalendarTypes
        12. HebrewCalendar
        13. HijriCalendar
        14. JapaneseCalendar
        15. JulianCalendar
        16. KoreanCalendar
        17. NumberFormatInfo
        18. NumberStyles
        19. RegionInfo
        20. SortKey
        21. StringInfo
        22. TaiwanCalendar
        23. TextElementEnumerator
        24. TextInfo
        25. ThaiBuddhistCalendar
        26. UnicodeCategory
      8. 31. System.IO
        1. BinaryReader
        2. BinaryWriter
        3. BufferedStream
        4. Directory
        5. DirectoryInfo
        6. DirectoryNotFoundException
        7. EndOfStreamException
        8. ErrorEventArgs
        9. ErrorEventHandler
        10. File
        11. FileAccess
        12. FileAttributes
        13. FileInfo
        14. FileLoadException
        15. FileMode
        16. FileNotFoundException
        17. FileShare
        18. FileStream
        19. FileSystemEventArgs
        20. FileSystemEventHandler
        21. FileSystemInfo
        22. FileSystemWatcher
        23. InternalBufferOverflowException
        24. IODescriptionAttribute
        25. IOException
        26. MemoryStream
        27. NotifyFilters
        28. Path
        29. PathTooLongException
        30. RenamedEventArgs
        31. RenamedEventHandler
        32. SeekOrigin
        33. Stream
        34. StreamReader
        35. StreamWriter
        36. StringReader
        37. StringWriter
        38. TextReader
        39. TextWriter
        40. WaitForChangedResult
        41. WatcherChangeTypes
      9. 32. System.IO.IsolatedStorage
        1. INormalizeForIsolatedStorage
        2. IsolatedStorage
        3. IsolatedStorageException
        4. IsolatedStorageFile
        5. IsolatedStorageFileStream
        6. IsolatedStorageScope
      10. 33. System.Net
        1. AuthenticationManager
        2. Authorization
        3. Cookie
        4. CookieCollection
        5. CookieContainer
        6. CookieException
        7. CredentialCache
        8. Dns
        9. DnsPermission
        10. DnsPermissionAttribute
        11. EndPoint
        12. EndpointPermission
        13. FileWebRequest
        14. FileWebResponse
        15. GlobalProxySelection
        16. HttpContinueDelegate
        17. HttpStatusCode
        18. HttpVersion
        19. HttpWebRequest
        20. HttpWebResponse
        21. IAuthenticationModule
        22. ICertificatePolicy
        23. ICredentials
        24. IPAddress
        25. IPEndPoint
        26. IPHostEntry
        27. IWebProxy
        28. IWebRequestCreate
        29. NetworkAccess
        30. NetworkCredential
        31. ProtocolViolationException
        32. SecurityProtocolType
        33. ServicePoint
        34. ServicePointManager
        35. SocketAddress
        36. SocketPermission
        37. SocketPermissionAttribute
        38. TransportType
        39. WebClient
        40. WebException
        41. WebExceptionStatus
        42. WebHeaderCollection
        43. WebPermission
        44. WebPermissionAttribute
        45. WebProxy
        46. WebRequest
        47. WebResponse
      11. 34. System.Net.Sockets
        1. AddressFamily
        2. IPv6MulticastOption
        3. LingerOption
        4. MulticastOption
        5. NetworkStream
        6. ProtocolFamily
        7. ProtocolType
        8. SelectMode
        9. Socket
        10. SocketException
        11. SocketFlags
        12. SocketOptionLevel
        13. SocketOptionName
        14. SocketShutdown
        15. SocketType
        16. TcpClient
        17. TcpListener
        18. UdpClient
      12. 35. System.Reflection
        1. AmbiguousMatchException
        2. Assembly
        3. AssemblyAlgorithmIdAttribute
        4. AssemblyCompanyAttribute
        5. AssemblyConfigurationAttribute
        6. AssemblyCopyrightAttribute
        7. AssemblyCultureAttribute
        8. AssemblyDefaultAliasAttribute
        9. AssemblyDelaySignAttribute
        10. AssemblyDescriptionAttribute
        11. AssemblyFileVersionAttribute
        12. AssemblyFlagsAttribute
        13. AssemblyInformationalVersionAttribute
        14. AssemblyKeyFileAttribute
        15. AssemblyKeyNameAttribute
        16. AssemblyName
        17. AssemblyNameFlags
        18. AssemblyNameProxy
        19. AssemblyProductAttribute
        20. AssemblyTitleAttribute
        21. AssemblyTrademarkAttribute
        22. AssemblyVersionAttribute
        23. Binder
        24. BindingFlags
        25. CallingConventions
        26. ConstructorInfo
        27. CustomAttributeFormatException
        28. DefaultMemberAttribute
        29. EventAttributes
        30. EventInfo
        31. FieldAttributes
        32. FieldInfo
        33. ICustomAttributeProvider
        34. InterfaceMapping
        35. InvalidFilterCriteriaException
        36. IReflect
        37. ManifestResourceInfo
        38. MemberFilter
        39. MemberInfo
        40. MemberTypes
        41. MethodAttributes
        42. MethodBase
        43. MethodImplAttributes
        44. MethodInfo
        45. Missing
        46. Module
        47. ModuleResolveEventHandler
        48. ParameterAttributes
        49. ParameterInfo
        50. ParameterModifier
        51. Pointer
        52. PropertyAttributes
        53. PropertyInfo
        54. ReflectionTypeLoadException
        55. ResourceAttributes
        56. ResourceLocation
        57. StrongNameKeyPair
        58. TargetException
        59. TargetInvocationException
        60. TargetParameterCountException
        61. TypeAttributes
        62. TypeDelegator
        63. TypeFilter
      13. 36. System.Reflection.Emit
        1. AssemblyBuilder
        2. AssemblyBuilderAccess
        3. ConstructorBuilder
        4. CustomAttributeBuilder
        5. EnumBuilder
        6. EventBuilder
        7. EventToken
        8. FieldBuilder
        9. FieldToken
        10. FlowControl
        11. ILGenerator
        12. Label
        13. LocalBuilder
        14. MethodBuilder
        15. MethodRental
        16. MethodToken
        17. ModuleBuilder
        18. OpCode
        19. OpCodes
        20. OpCodeType
        21. OperandType
        22. PackingSize
        23. ParameterBuilder
        24. ParameterToken
        25. PEFileKinds
        26. PropertyBuilder
        27. PropertyToken
        28. SignatureHelper
        29. SignatureToken
        30. StackBehaviour
        31. StringToken
        32. TypeBuilder
        33. TypeToken
        34. UnmanagedMarshal
      14. 37. System.Runtime.InteropServices
        1. ArrayWithOffset
        2. AssemblyRegistrationFlags
        3. BestFitMappingAttribute
        4. CallingConvention
        5. CharSet
        6. ClassInterfaceAttribute
        7. ClassInterfaceType
        8. CoClassAttribute
        9. ComAliasNameAttribute
        10. ComCompatibleVersionAttribute
        11. ComConversionLossAttribute
        12. COMException
        13. ComImportAttribute
        14. ComInterfaceType
        15. ComMemberType
        16. ComRegisterFunctionAttribute
        17. ComSourceInterfacesAttribute
        18. ComUnregisterFunctionAttribute
        19. ComVisibleAttribute
        20. CurrencyWrapper
        21. DispatchWrapper
        22. DispIdAttribute
        23. DllImportAttribute
        24. ErrorWrapper
        25. ExtensibleClassFactory
        26. ExternalException
        27. FieldOffsetAttribute
        28. GCHandle
        29. GCHandleType
        30. GuidAttribute
        31. HandleRef
        32. IDispatchImplAttribute
        33. IDispatchImplType
        34. InAttribute
        35. InterfaceTypeAttribute
        36. InvalidComObjectException
        37. InvalidOleVariantTypeException
        38. IRegistrationServices
        39. LayoutKind
        40. LCIDConversionAttribute
        41. Marshal
        42. MarshalAsAttribute
        43. MarshalDirectiveException
        44. ObjectCreationDelegate
        45. OptionalAttribute
        46. OutAttribute
        47. PreserveSigAttribute
        48. ProgIdAttribute
        49. RegistrationServices
        50. RuntimeEnvironment
        51. SafeArrayRankMismatchException
        52. SafeArrayTypeMismatchException
        53. SEHException
        54. StructLayoutAttribute
        55. TypeLibVersionAttribute
        56. UnknownWrapper
        57. UnmanagedType
        58. VarEnum
        59. IExpando
      15. 38. System.Runtime.Serialization
        1. Formatter
        2. FormatterConverter
        3. FormatterServices
        4. IDeserializationCallback
        5. IFormatter
        6. IFormatterConverter
        7. IObjectReference
        8. ISerializable
        9. ISerializationSurrogate
        10. ISurrogateSelector
        11. ObjectIDGenerator
        12. ObjectManager
        13. SerializationBinder
        14. SerializationEntry
        15. SerializationException
        16. SerializationInfo
        17. SerializationInfoEnumerator
        18. StreamingContext
        19. StreamingContextStates
        20. SurrogateSelector
      16. 39. System.Runtime.Serialization.Formatters
        1. BinaryFormatter
        2. FormatterAssemblyStyle
        3. FormatterTypeStyle
        4. IFieldInfo
        5. ISoapMessage
        6. ServerFault
        7. SoapFault
        8. SoapFormatter
        9. SoapMessage
        10. TypeFilterLevel
      17. 40. System.Text
        1. ASCIIEncoding
        2. Decoder
        3. Encoder
        4. Encoding
        5. StringBuilder
        6. UnicodeEncoding
        7. UTF7Encoding
        8. UTF8Encoding
      18. 41. System.Text.RegularExpressions
        1. Capture
        2. CaptureCollection
        3. Group
        4. GroupCollection
        5. Match
        6. MatchCollection
        7. MatchEvaluator
        8. Regex
        9. RegexCompilationInfo
        10. RegexOptions
      19. 42. System.Threading
        1. ApartmentState
        2. AutoResetEvent
        3. Interlocked
        4. IOCompletionCallback
        5. LockCookie
        6. ManualResetEvent
        7. Monitor
        8. Mutex
        9. NativeOverlapped
        10. Overlapped
        11. ReaderWriterLock
        12. RegisteredWaitHandle
        13. SynchronizationLockException
        14. Thread
        15. ThreadAbortException
        16. ThreadExceptionEventArgs
        17. ThreadExceptionEventHandler
        18. ThreadInterruptedException
        19. ThreadPool
        20. ThreadPriority
        21. ThreadStart
        22. ThreadState
        23. ThreadStateException
        24. Timeout
        25. Timer
        26. TimerCallback
        27. WaitCallback
        28. WaitHandle
        29. WaitOrTimerCallback
      20. 43. System.Timers
        1. ElapsedEventArgs
        2. ElapsedEventHandler
        3. Timer
        4. TimersDescriptionAttribute
      21. 44. System.Xml
        1. EntityHandling
        2. Formatting
        3. IHasXmlNode
        4. IXmlLineInfo
        5. NameTable
        6. ReadState
        7. ValidationType
        8. WhitespaceHandling
        9. WriteState
        10. XmlAttribute
        11. XmlAttributeCollection
        12. XmlCDataSection
        13. XmlCharacterData
        14. XmlComment
        15. XmlConvert
        16. XmlDataDocument
        17. XmlDeclaration
        18. XmlDocument
        19. XmlDocumentFragment
        20. XmlDocumentType
        21. XmlElement
        22. XmlEntity
        23. XmlEntityReference
        24. XmlException
        25. XmlImplementation
        26. XmlLinkedNode
        27. XmlNamedNodeMap
        28. XmlNamespaceManager
        29. XmlNameTable
        30. XmlNode
        31. XmlNodeChangedAction
        32. XmlNodeChangedEventArgs
        33. XmlNodeChangedEventHandler
        34. XmlNodeList
        35. XmlNodeOrder
        36. XmlNodeReader
        37. XmlNodeType
        38. XmlNotation
        39. XmlParserContext
        40. XmlProcessingInstruction
        41. XmlQualifiedName
        42. XmlReader
        43. XmlResolver
        44. XmlSecureResolver
        45. XmlSignificantWhitespace
        46. XmlSpace
        47. XmlText
        48. XmlTextReader
        49. XmlTextWriter
        50. XmlTokenizedType
        51. XmlUrlResolver
        52. XmlValidatingReader
        53. XmlWhitespace
        54. XmlWriter
      22. 45. System.Xml.XPath
        1. IXPathNavigable
        2. XmlCaseOrder
        3. XmlDataType
        4. XmlSortOrder
        5. XPathDocument
        6. XPathException
        7. XPathExpression
        8. XPathNamespaceScope
        9. XPathNavigator
        10. XPathNodeIterator
        11. XPathNodeType
        12. XPathResultType
      23. 46. System.Xml.Xsl
        1. IXsltContextFunction
        2. IXsltContextVariable
        3. XsltArgumentList
        4. XsltCompileException
        5. XsltContext
        6. XsltException
        7. XslTransform
    6. V. Appendixes
      1. A. Regular Expressions
      2. B. Format Specifiers
        1. Picture Format Specifiers
        2. DateTime Format Specifiers
      3. C. Data Marshaling
      4. D. C# Keywords
      5. E. Namespaces and Assemblies
    7. F. Type, Method, Property, Event, and Field Index
      1. A-D
      2. E-I
      3. J-R
      4. S-Z
    8. Index
    9. Colophon