Main Page
Table of content
Copyright
Preface
Audience
Contents of This Book
Assumptions This Book Makes
Conventions Used in This Book
Related Books
C# Resources Online
How to Contact Us
How the Quick Reference Is Generated
Acknowledgments
Part I: Programming with C#
Chapter 1. Introducing C# and the .NET Framework
1.1 The C# Language
1.2 The .NET Framework
1.3 ECMA Standardization
1.4 Changes in Visual C# 2003
Chapter 2. C# Language Basics
2.1 A First C# Program
2.2 Identifiers and Keywords
2.3 Type Basics
2.4 Value Types and Reference Types
2.5 Predefined Types
2.6 Arrays
2.7 Variables and Parameters
2.8 Expressions and Operators
2.9 Statements
2.10 Namespaces
Chapter 3. Creating Types in C#
3.1 Classes
3.2 Inheritance
3.3 Access Modifiers
3.4 Structs
3.5 Interfaces
3.6 Enums
Chapter 4. Advanced C# Features
4.1 Delegates
4.2 Delegates Versus Function Pointers
4.3 Delegates Versus Interfaces
4.4 Events
4.5 Operator Overloading
4.6 Try Statements and Exceptions
4.7 Attributes
4.8 Unsafe Code and Pointers
4.9 Preprocessor Directives
4.10 XML Documentation
Part II: Programming with the .NET Framework
Chapter 5. Framework Class Library Overview
5.1 Core Types
5.2 Text
5.3 Collections
5.4 Streams and I/O
5.5 Networking
5.6 Threading
5.7 Security
5.8 Reflection and Metadata
5.9 Assemblies
5.10 Serialization
5.11 Remoting
5.12 Web Services
5.13 Data Access
5.14 XML
5.15 Graphics
5.16 Rich Client Applications
5.17 Web-Based Applications
5.18 Globalization
5.19 Configuration
5.20 Advanced Component Services
5.21 Diagnostics and Debugging
5.22 Interoperating with Unmanaged Code
5.23 Compiler and Tool Support
5.24 Runtime Facilities
5.25 Native OS Facilities
5.26 Undocumented Types
Chapter 6. String Handling
6.1 String Class
6.2 StringBuilder Class
6.3 Regular Expression Support
6.4 Regular Expression Basics
6.5 Procedural- and Expression-Based Patterns
6.6 Cookbook Regular Expressions
Chapter 7. Collections
7.1 Iterating Over Collections
7.2 Standard Collection Interfaces
7.3 Predefined Collection Classes
7.4 Ordering Instances
7.5 Generating Hash Code
Chapter 8. XML I/O
8.1 Accessing XML Documents
8.2 Parsing an XML Stream
8.3 Selecting Nodes Using XPath
8.4 Transforming a Document Using XSLT
Chapter 9. Networking
9.1 Network Programming Models
9.2 Generic Request/Response Architecture
9.3 HTTP-Specific Support
9.4 WebClient
9.5 Adding New Protocol Handlers
9.6 Using TCP, UDP, and Sockets
9.7 Using DNS
Chapter 10. Streams and I/O
10.1 Streams and Backing Stores
10.2 Encapsulating Raw Streams
10.3 Directories and Files
10.4 Isolated Storage
Chapter 11. Serialization
11.1 What Is Serialization?
11.2 Serialization Support in the Framework
11.3 Explicit Serialization
11.4 Implicit Serialization
11.5 [Serializable]
11.6 [NonSerialized]
11.7 IDeserializationCallback
11.8 ISerializable
11.9 [Serializable] and ISerializable
Chapter 12. Assemblies
12.1 Elements of an Assembly
12.2 Assemblies and Modules
12.3 Scoping Types and Type References
12.4 Naming and Signing Assemblies
12.5 Resolving and Loading Assemblies
12.6 Deployment
12.7 Security Permissions
Chapter 13. Reflection
13.1 Type Hierarchy
13.2 Types, Members, and Nested Types
13.3 Retrieving the Type for an Instance
13.4 Retrieving a Type Directly
13.5 Reflecting Over a Type Hierarchy
13.6 Late Binding
13.7 Advanced Uses of Reflection
13.8 Creating New Types at Runtime
Chapter 14. Custom Attributes
14.1 Language Support
14.2 Compiler Support
14.3 Runtime Support
14.4 Predefined Attributes
14.5 Defining a New Custom Attribute
14.6 Retrieving a Custom Attribute at Runtime
Chapter 15. Memory Management
15.1 The Garbage Collector
15.2 Optimization Techniques
15.3 Finalizers
15.4 Dispose and Close Methods
Chapter 16. Threading
16.1 Thread Synchronization
16.2 Common Thread Types
16.3 Asynchronous Delegates
Chapter 17. Integrating with Native DLLs
17.1 Calling Into DLLs
17.2 Marshaling Common Types
17.3 Marshaling Classes and Structs
17.4 In and Out Marshaling
17.5 Callbacks from Unmanaged Code
17.6 Simulating a C Union
17.7 Mapping a Struct to a Binary Format
17.8 Predefined Interop Support Attributes
Chapter 18. Integrating with COM Components
18.1 Binding COM and C# Objects
18.2 Exposing COM Objects to C#
18.3 Exposing C# Objects to COM
18.4 COM Mapping in C#
18.5 Common COM Interop Support Attributes
18.6 COM+ Support
Chapter 19. Diagnostics
19.1 Logging and Assertion Facilities
19.2 Conditional Compilation
19.3 Debugger Integration
19.4 Processes, Threads, and Stacks
19.5 Event Logs
19.6 Performance Counters
Chapter 20. C# Language Reference
Part III: Language and Tools Reference
Chapter 21. XML Documentation Tag Reference
Chapter 22. C# Naming and Coding Conventions
22.1 Case
22.2 Mechanics
22.3 Word Choice
22.4 Namespaces
Chapter 23. C# Development Tools
ADepends.exe
Al.exe
Cordbg.exe
Csc.exe
DbgCLR.exe
GacUtil.exe
ILasm.exe
ILDasm.exe
InstallUtil.exe
Ngen.exe
Nmake.exe
PEVerify.exe
RegAsm.exe
RegSvcs.exe
Sn.exe
SoapSuds.exe
TlbExp.exe
TlbImp.exe
Wsdl.exe
WinCV.exe
Xsd.exe
Part IV: API Quick Reference
Chapter 24. How to Use This Quick Reference
24.1 Finding a Quick-Reference Entry
24.2 Reading a Quick-Reference Entry
Chapter 25. The Microsoft.Win32 Namespace
PowerModeChangedEventArgs
PowerModeChangedEventHandler
PowerModes
Registry
RegistryHive
RegistryKey
SessionEndedEventArgs
SessionEndedEventHandler
SessionEndingEventArgs
SessionEndingEventHandler
SessionEndReasons
SystemEvents
TimerElapsedEventArgs
TimerElapsedEventHandler
UserPreferenceCategory
UserPreferenceChangedEventArgs
UserPreferenceChangedEventHandler
UserPreferenceChangingEventArgs
UserPreferenceChangingEventHandler
Chapter 26. System
Activator
AppDomain
AppDomainSetup
AppDomainUnloadedException
ApplicationException
ArgIterator
ArgumentException
ArgumentNullException
ArgumentOutOfRangeException
ArgumentNullException
Array
ArrayTypeMismatchException
AssemblyLoadEventArgs
AssemblyLoadEventHandler
AsyncCallback
Attribute
AttributeTargets
AttributeUsageAttribute
BadImageFormatException
BitConverter
Boolean
Buffer
Byte
CannotUnloadAppDomainException
Char
CharEnumerator
CLSCompliantAttribute
Console
ContextBoundObject
ContextMarshalException
ContextStaticAttribute
Convert
CrossAppDomainDelegate
DateTime
DayOfWeek
DBNull
Decimal
Delegate
DivideByZeroException
DllNotFoundException
Double
DuplicateWaitObjectException
EntryPointNotFoundException
Enum
Environment
Environment.SpecialFolder
EventArgs
EventHandler
Exception
ExecutionEngineException
FieldAccessException
FlagsAttribute
FormatException
GC
Guid
IAsyncResult
ICloneable
IComparable
IConvertible
ICustomFormatter
IDisposable
IFormatProvider
IFormattable
IndexOutOfRangeException
Int16
Int32
Int64
IntPtr
InvalidCastException
InvalidOperationException
InvalidProgramException
IServiceProvider
LoaderOptimization
LoaderOptimizationAttribute
LocalDataStoreSlot
MarshalByRefObject
Math
MemberAccessException
MethodAccessException
MissingFieldException
MissingMemberException
MissingMethodException
MTAThreadAttribute
MulticastDelegate
MulticastNotSupportedException
NonSerializedAttribute
NotFiniteNumberException
NotImplementedException
NotSupportedException
NullReferenceException
Object
ObjectDisposedException
ObsoleteAttribute
OperatingSystem
OutOfMemoryException
OverflowException
ParamArrayAttribute
PlatformID
PlatformNotSupportedException
Random
RankException
ResolveEventArgs
ResolveEventHandler
RuntimeTypeHandle
SByte
SerializableAttribute
Single
StackOverflowException
STAThreadAttribute
String
SystemException
ThreadStaticAttribute
TimeSpan
TimeZone
Type
TypeCode
TypeInitializationException
TypeLoadException
TypeUnloadedException
UInt16
UInt32
UInt64
UIntPtr
UnauthorizedAccessException
UnhandledExceptionEventArgs
UnhandledExceptionEventHandler
Uri
UriBuilder
UriFormatException
UriHostNameType
UriPartial
ValueType
Version
Void
WeakReference
Chapter 27. System.Collections
ArrayList
BitArray
CaseInsensitiveComparer
CaseInsensitiveHashCodeProvider
CollectionBase
Comparer
DictionaryBase
DictionaryEntry
Hashtable
ICollection
IComparer
IDictionary
IDictionaryEnumerator
IEnumerable
IEnumerator
IHashCodeProvider
IList
Queue
ReadOnlyCollectionBase
SortedList
Stack
Chapter 28. System.Collections.Specialized
BitVector32
BitVector32.Section
CollectionsUtil
HybridDictionary
ListDictionary
NameObjectCollectionBase
NameObjectCollectionBase.KeysCollection
NameValueCollection
StringCollection
StringDictionary
StringEnumerator
Chapter 29. System.Diagnostics
BooleanSwitch
ConditionalAttribute
CounterCreationData
CounterCreationDataCollection
CounterSample
CounterSampleCalculator
Debug
DebuggableAttribute
Debugger
DebuggerHiddenAttribute
DebuggerStepThroughAttribute
DefaultTraceListener
EntryWrittenEventArgs
EntryWrittenEventHandler
EventLog
EventLogEntry
EventLogEntryCollection
EventLogEntryType
EventLogInstaller
EventLogPermission
EventLogPermissionAccess
EventLogPermissionAttribute
EventLogPermissionEntry
EventLogPermissionEntryCollection
EventLogTraceListener
FileVersionInfo
InstanceData
InstanceDataCollection
InstanceDataCollectionCollection
MonitoringDescriptionAttribute
PerformanceCounter
PerformanceCounterCategory
PerformanceCounterInstaller
PerformanceCounterPermission
PerformanceCounterPermissionAccess
PerformanceCounterPermissionAttribute
PerformanceCounterPermissionEntry
PerformanceCounterPermissionEntryCollection
PerformanceCounterType
Process
ProcessModule
ProcessModuleCollection
ProcessPriorityClass
ProcessStartInfo
ProcessThread
ProcessThreadCollection
ProcessWindowStyle
StackFrame
StackTrace
Switch
TextWriterTraceListener
ThreadPriorityLevel
ThreadState
ThreadWaitReason
Trace
TraceLevel
TraceListener
TraceListenerCollection
TraceSwitch
Chapter 30. System.Globalization
Calendar
CalendarWeekRule
CompareInfo
CompareOptions
CultureInfo
CultureTypes
DateTimeFormatInfo
DateTimeStyles
DaylightTime
GregorianCalendar
GregorianCalendarTypes
HebrewCalendar
HijriCalendar
JapaneseCalendar
JulianCalendar
KoreanCalendar
NumberFormatInfo
NumberStyles
RegionInfo
SortKey
StringInfo
TaiwanCalendar
TextElementEnumerator
TextInfo
ThaiBuddhistCalendar
UnicodeCategory
Chapter 31. System.IO
BinaryReader
BinaryWriter
BufferedStream
Directory
DirectoryInfo
DirectoryNotFoundException
EndOfStreamException
ErrorEventArgs
ErrorEventHandler
File
FileAccess
FileAttributes
FileInfo
FileLoadException
FileMode
FileNotFoundException
FileShare
FileStream
FileSystemEventArgs
FileSystemEventHandler
FileSystemInfo
FileSystemWatcher
InternalBufferOverflowException
IODescriptionAttribute
IOException
MemoryStream
NotifyFilters
Path
PathTooLongException
RenamedEventArgs
RenamedEventHandler
SeekOrigin
Stream
StreamReader
StreamWriter
StringReader
StringWriter
TextReader
TextWriter
WaitForChangedResult
WatcherChangeTypes
Chapter 32. System.IO.IsolatedStorage
INormalizeForIsolatedStorage
IsolatedStorage
IsolatedStorageException
IsolatedStorageFile
IsolatedStorageFileStream
IsolatedStorageScope
Chapter 33. System.Net
AuthenticationManager
Authorization
Cookie
CookieCollection
CookieContainer
CookieException
CredentialCache
Dns
DnsPermission
DnsPermissionAttribute
EndPoint
EndpointPermission
FileWebRequest
FileWebResponse
GlobalProxySelection
HttpContinueDelegate
HttpStatusCode
HttpVersion
HttpWebRequest
HttpWebResponse
IAuthenticationModule
ICertificatePolicy
ICredentials
IPAddress
IPEndPoint
IPHostEntry
IWebProxy
IWebRequestCreate
NetworkAccess
NetworkCredential
ProtocolViolationException
SecurityProtocolType
ServicePoint
ServicePointManager
SocketAddress
SocketPermission
SocketPermissionAttribute
TransportType
WebClient
WebException
WebExceptionStatus
WebHeaderCollection
WebPermission
WebPermissionAttribute
WebProxy
WebRequest
WebResponse
Chapter 34. System.Net.Sockets
AddressFamily
IPv6MulticastOption
LingerOption
MulticastOption
NetworkStream
ProtocolFamily
ProtocolType
SelectMode
Socket
SocketException
SocketFlags
SocketOptionLevel
SocketOptionName
SocketShutdown
SocketType
TcpClient
TcpListener
UdpClient
Chapter 35. System.Reflection
AmbiguousMatchException
Assembly
AssemblyAlgorithmIdAttribute
AssemblyCompanyAttribute
AssemblyConfigurationAttribute
AssemblyCopyrightAttribute
AssemblyCultureAttribute
AssemblyDefaultAliasAttribute
AssemblyDelaySignAttribute
AssemblyDescriptionAttribute
AssemblyFileVersionAttribute
AssemblyFlagsAttribute
AssemblyInformationalVersionAttribute
AssemblyKeyFileAttribute
AssemblyKeyNameAttribute
AssemblyName
AssemblyNameFlags
AssemblyNameProxy
AssemblyProductAttribute
AssemblyTitleAttribute
AssemblyTrademarkAttribute
AssemblyVersionAttribute
Binder
BindingFlags
CallingConventions
ConstructorInfo
CustomAttributeFormatException
DefaultMemberAttribute
EventAttributes
EventInfo
FieldAttributes
FieldInfo
ICustomAttributeProvider
InterfaceMapping
InvalidFilterCriteriaException
IReflect
ManifestResourceInfo
MemberFilter
MemberInfo
MemberTypes
MethodAttributes
MethodBase
MethodImplAttributes
MethodInfo
Missing
Module
ModuleResolveEventHandler
ParameterAttributes
ParameterInfo
ParameterModifier
Pointer
PropertyAttributes
PropertyInfo
ReflectionTypeLoadException
ResourceAttributes
ResourceLocation
StrongNameKeyPair
TargetException
TargetInvocationException
TargetParameterCountException
TypeAttributes
TypeDelegator
TypeFilter
Chapter 36. System.Reflection.Emit
AssemblyBuilder
AssemblyBuilderAccess
ConstructorBuilder
CustomAttributeBuilder
EnumBuilder
EventBuilder
EventToken
FieldBuilder
FieldToken
FlowControl
ILGenerator
Label
LocalBuilder
MethodBuilder
MethodRental
MethodToken
ModuleBuilder
OpCode
OpCodes
OpCodeType
OperandType
PackingSize
ParameterBuilder
ParameterToken
PEFileKinds
PropertyBuilder
PropertyToken
SignatureHelper
SignatureToken
StackBehaviour
StringToken
TypeBuilder
TypeToken
UnmanagedMarshal
Chapter 37. System.Runtime.InteropServices
ArrayWithOffset
AssemblyRegistrationFlags
BestFitMappingAttribute
CallingConvention
CharSet
ClassInterfaceAttribute
ClassInterfaceType
CoClassAttribute
ComAliasNameAttribute
ComCompatibleVersionAttribute
ComConversionLossAttribute
COMException
ComImportAttribute
ComInterfaceType
ComMemberType
ComRegisterFunctionAttribute
ComSourceInterfacesAttribute
ComUnregisterFunctionAttribute
ComVisibleAttribute
CurrencyWrapper
DispatchWrapper
DispIdAttribute
DllImportAttribute
ErrorWrapper
ExtensibleClassFactory
ExternalException
FieldOffsetAttribute
GCHandle
GCHandleType
GuidAttribute
HandleRef
IDispatchImplAttribute
IDispatchImplType
InAttribute
InterfaceTypeAttribute
InvalidComObjectException
InvalidOleVariantTypeException
IRegistrationServices
LayoutKind
LCIDConversionAttribute
Marshal
MarshalAsAttribute
MarshalDirectiveException
ObjectCreationDelegate
OptionalAttribute
OutAttribute
PreserveSigAttribute
ProgIdAttribute
RegistrationServices
RuntimeEnvironment
SafeArrayRankMismatchException
SafeArrayTypeMismatchException
SEHException
StructLayoutAttribute
TypeLibVersionAttribute
UnknownWrapper
UnmanagedType
VarEnum
IExpando
Chapter 38. System.Runtime.Serialization
Formatter
FormatterConverter
FormatterServices
IDeserializationCallback
IFormatter
IFormatterConverter
IObjectReference
ISerializable
ISerializationSurrogate
ISurrogateSelector
ObjectIDGenerator
ObjectManager
SerializationBinder
SerializationEntry
SerializationException
SerializationInfo
SerializationInfoEnumerator
StreamingContext
StreamingContextStates
SurrogateSelector
Chapter 39. System.Runtime.Serialization.Formatters
BinaryFormatter
FormatterAssemblyStyle
FormatterTypeStyle
IFieldInfo
ISoapMessage
ServerFault
SoapFault
SoapFormatter
SoapMessage
TypeFilterLevel
Chapter 40. System.Text
ASCIIEncoding
Decoder
Encoder
Encoding
StringBuilder
UnicodeEncoding
UTF7Encoding
UTF8Encoding
Chapter 41. System.Text.RegularExpressions
Capture
CaptureCollection
Group
GroupCollection
Match
MatchCollection
MatchEvaluator
Regex
RegexCompilationInfo
RegexOptions
Chapter 42. System.Threading
ApartmentState
AutoResetEvent
Interlocked
IOCompletionCallback
LockCookie
ManualResetEvent
Monitor
Mutex
NativeOverlapped
Overlapped
ReaderWriterLock
RegisteredWaitHandle
SynchronizationLockException
Thread
ThreadAbortException
ThreadExceptionEventArgs
ThreadExceptionEventHandler
ThreadInterruptedException
ThreadPool
ThreadPriority
ThreadStart
ThreadState
ThreadStateException
Timeout
Timer
TimerCallback
WaitCallback
WaitHandle
WaitOrTimerCallback
Chapter 43. System.Timers
ElapsedEventArgs
ElapsedEventHandler
Timer
TimersDescriptionAttribute
Chapter 44. System.Xml
EntityHandling
Formatting
IHasXmlNode
IXmlLineInfo
NameTable
ReadState
ValidationType
WhitespaceHandling
WriteState
XmlAttribute
XmlAttributeCollection
XmlCDataSection
XmlCharacterData
XmlComment
XmlConvert
XmlDataDocument
XmlDeclaration
XmlDocument
XmlDocumentFragment
XmlDocumentType
XmlElement
XmlEntity
XmlEntityReference
XmlException
XmlImplementation
XmlLinkedNode
XmlNamedNodeMap
XmlNamespaceManager
XmlNameTable
XmlNode
XmlNodeChangedAction
XmlNodeChangedEventArgs
XmlNodeChangedEventHandler
XmlNodeList
XmlNodeOrder
XmlNodeReader
XmlNodeType
XmlNotation
XmlParserContext
XmlProcessingInstruction
XmlQualifiedName
XmlReader
XmlResolver
XmlSecureResolver
XmlSignificantWhitespace
XmlSpace
XmlText
XmlTextReader
XmlTextWriter
XmlTokenizedType
XmlUrlResolver
XmlValidatingReader
XmlWhitespace
XmlWriter
Chapter 45. System.Xml.XPath
IXPathNavigable
XmlCaseOrder
XmlDataType
XmlSortOrder
XPathDocument
XPathException
XPathExpression
XPathNamespaceScope
XPathNavigator
XPathNodeIterator
XPathNodeType
XPathResultType
Chapter 46. System.Xml.Xsl
IXsltContextFunction
IXsltContextVariable
XsltArgumentList
XsltCompileException
XsltContext
XsltException
XslTransform
Part V: Appendixes
Appendix A. Regular Expressions
Appendix B. Format Specifiers
B.1 Picture Format Specifiers
B.2 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
Index
Index SYMBOL
Index A
Index B
Index C
Index D
Index E
Index F
Index G
Index H
Index I
Index J
Index K
Index L
Index M
Index N
Index O
Index P
Index Q
Index R
Index S
Index T
Index U
Index V
Index W
Index X