Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

! XML type ID prefix, Type or Member Cross-References
! (not) operator, Operators
precedence of, Operator Precedence
!= operator, Operators
Equals ( ) method and, Object Class
preprocessor directives and, Preprocessor Directives
relevance to enums, Enum Operators
!=operator
precedence of, Operator Precedence
#define symbol preprocessor directive, Preprocessor Directives
#elif symbol preprocessor directive, Preprocessor Directives
#else preprocessor directive, Preprocessor Directives
#end region preprocessor directive, Preprocessor Directives
#endif preprocessor directive, Preprocessor Directives
#if symbol preprocessor directive, Preprocessor Directives
#line number preprocessor directive, Preprocessor Directives
#region name preprocessor directive, Preprocessor Directives
#undef symbol preprocessor directive, Preprocessor Directives
#warning text preprocessor directive, Preprocessor Directives
% (division remainder) operator, Operators
precedence of, Operator Precedence
%= operator, precedence of, Operator Precedence
& (bitwise and) operator, Operators
address-of, returning a pointer, Pointer Types
enums, relevance to, Enum Operators
precedence of, Operator Precedence
&& operator, Indirectly overloadable operators
preprocessor directives and, Preprocessor Directives
&= operator, precedence of, Operator Precedence
( ) (parenthesis)
grouping (x) operators, Operator Precedence
type cast ((T)x) operators, Operator Precedence
* (multiplication) operator, Operators
dereference, Pointer Types
precedence of, Operator Precedence
*= operator, precedence of, Operator Precedence
*? lazy quantifiers, in regular expressions, Regular Expressions
+ (addition) operator, Operators, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
++ (increment) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
+= operator
delegates, invoking, Multicast Delegates
events, declaring and firing, Declaring and Firing an Event
precedence of, Operator Precedence
relevance to enums, Enum Operators
+? lazy quanifiers, in regular expressions, Regular Expressions
- (subtraction) operator, Operators
negative value, precedence of, Operator Precedence
-- (decrement) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
-= (subtraction assignment) operator
events, declaring and firing, Declaring and Firing an Event
relevance to enums, Enum Operators
removing a delegate from another delegate, Multicast Delegates
-= operator, precedence of, Operator Precedence
-> (pointer-to-member) operator, Pointer Types
precedence of, Operator Precedence
. (dot)
x.y (member access), Operator Precedence
.NET Software Developer Kit (SDK), Preface
/ (division) operator, Operators
/ (division) operator, precedence of, Operator Precedence
/* ... */ (comments), C/C++-Style Comments
// (comments), C/C++-Style Comments
/// (documentation comments), Documentation Comments
/= operator, precedence of, Operator Precedence
1-dimensional arrays type, Data Marshaling
; (semicolon)
empty statements and, Empty Statements
in expressing statements, Expression Statements
< (less than) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
<< operator, Operators
<<= operator, precedence of, Operator Precedence
<= operator, Operators
<=operator
precedence of, Operator Precedence
= (assignment) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
== (equals) operator, Operators
Equals ( ) method and, Object Class
preprocess directives and, Preprocessor Directives
relevance to enums, Enum Operators
==(equals) operator
precedence of, Operator Precedence
> (greater than) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
>= operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators, Enum Operators
>> operator, Operators
>>= operator, precedence of, Operator Precedence
>>operator
precedence of, Operator Precedence, Operator Precedence
?? lazy quantifiers, in regular expressions, Regular Expressions
?: (conditional ternary)
precedence of, Operator Precedence
using three-state logic operators, Three-state logic operators
@ (identifier prefix)
identifiers, Identifiers
verbatim string literals and, string type
[ ] (indexing), Indexers
customizing attributes, Language Support for Custom Attributes
precedence of, Operator Precedence
specifying multiple attributes, Specifying Multiple Attributes, Specifying Multiple Attributes
stackalloc keyword and, The stackalloc Keyword
' char type, char type
char type, char type
a char type, char type
 char type, char type
f char type, char type
char type, char type
char type, char type
char type, char type
v char type, char type
\ char type, char type
\” char type, char type
^ (bitwise for) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
^= operator, precedence of, Operator Precedence
_ underscore (identifiers), Identifiers
| (vertical bar) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators
|= operator, precedence of, Operator Precedence
|| operator, Indirectly overloadable operators
precedence of, Operator Precedence
preprocessor directives and, Preprocessor Directives
~ (tilde) operator, Operators
precedence of, Operator Precedence
relevance to enums, Enum Operators

A

abstract classes, Abstract Classes and Members, C# Keywords
attribute classes and, Attribute Classes
interfaces, differences from, Interfaces
streams, Abstract Stream class
TextReader/TextWriter, Abstract TextReader/TextWriter classes
abstract methods, Methods
access data, Data Access
access modifiers, Access Modifiers, Constructor access modifiers
restrictions on, Restrictions on Access Modifiers
accessors (events), Event Accessors
activation, Activation
additive operators, precedence of, Operator Precedence
AnsiBStr enum value for UnmanagedType, MarshalAs attribute
AppDomains, AppDomains
arguments, passing by value, Passing arguments by value
arithmetic check off (unchecked) operator, Operator Precedence
arithmetic check on (checked) operator, Operator Precedence
Array class, Collections
array stack allocation (stackalloc) operator, Operator Precedence
ArrayList class, ArrayList class, Collections
arrays, ArraysArray Conversions
bounds checking, Bounds Checking
conversions, Array Conversions
foreach loops, using, foreach loops
length of, Array Length and Rank
local/field declarations, Local and Field Array Declarations
multidimensional, Multidimensional Arrays
rank of, Array Length and Rank
as operator, as operator, C# Keywords
AsAny enum value for UnmanagedType, MarshalAs attribute
assemblies, AssembliesSecurity Permissions, Namespaces and AssembliesNamespaces and Assemblies
building shareable, Building Shareable Assemblies
deployment, Common Language Runtime, Deployment
elements of, Elements of an Assembly
FCL (Framework Class Library) and, Assemblies
packaging, Packaging
reflection and, Assemblies and modules
security permissions, Security Permissions
type resolution, Type Resolution
versioning, Versioning
working with, Working with AssembliesUsing nmake
assignment operators, precedence of, Operator Precedence
atomic operations, synchronizing threads, Atomic operations
atomic types, Default Values
attributes, AttributesSpecifying Multiple Attributes
COM Interop, supporting, Common COM Interop Support Attributes
custom, Custom AttributesRetrieving a Custom Attribute at Runtime
named parameter, Named and Positional Parameters
positional parameter, Named and Positional Parameters
predefined, Predefined Attributes
Interop support for, Predefined Interop Support Attributes
specifying multiple, Specifying Multiple Attributes
targets, Explicitly Specifying Attribute Targets
AttributeTargets enum, using AttributeUsage attribute, AttributeUsage attribute
AttributeUsage attribute, AttributeUsage attribute
defining a new custom attribute, Defining a New Custom Attribute
automatic memory management, C# Language, Automatic Memory ManagementDispose and Close Methods
dispose/close methods, Dispose and Close Methods
finalizers and, Finalizers
garbage collector and, The Garbage Collector
optimization techniques for, Optimization Techniques

B

backing stores, Streams and Backing Stores
base class, Inheritance
constructors, Calling base class constructors
base keyword, base keyword, C# Keywords
binary operators, precedence of, Operator Precedence
BitArray class, BitArray class, Collections
bitwise operator (&)
address-of, returning a pointer, Pointer Types
enums, relevance to, Enum Operators
precedence of, Operator Precedence
Bool enum value for UnmanagedType, MarshalAs attribute
bool type, bool type, C# Keywords, Data Marshaling
conversions, bool conversions
default value of, Default Values
three-state logic operators and, Three-state logic operators
bounds checking, Bounds Checking
boxing value types, Boxing and unboxing value types
break statement, break statement, C# Keywords
switch statements, using, switch statement
BStr enum value for UnmanagedType, MarshalAs attribute
assembly version numbers, Versioning
byte integral type, Integral types, C# Keywords, Data Marshaling
ByValArray enum value for UnmanagedType, MarshalAs attribute
ByValTStr enum value for UnmanagedType, MarshalAs attribute

C

XML tag, Predefined XML Tags
C# keywords, C# KeywordsC# Keywords
C# language, introduction to, C# LanguageA First C# Program
C# objects
binding with COM, Binding COM and C# Objects
exposing to COM, Exposing C# Objects to COM
type, Object Class
C/C++-style comments, C/C++-Style Comments
callbacks from unmanaged code, Callbacks from Unmanaged Code
callconv-enum parameter, for DllImport attribute, DllImport attribute
CanRead property, Abstract Stream class
CanSeek property, Abstract Stream class
CanWrite property, Abstract Stream class
Capture instances, Capture and CaptureCollection Classes
CaptureCollection class, Capture and CaptureCollection Classes
case statement, goto statement, C# Keywords
catch statement, try Statement, catch, C# Keywords
CCW (COM Callable Wrapper), Exposing C# Objects to COM
char conversions, char conversions
char type, char type, C# Keywords, Data Marshaling
default value of, Default Values
charset-enum parameter
for DllImport attribute, DllImport attribute
charset-enum parameter
for StructLayout attribute, StructLayout attribute
checked operator, Operator Precedence, C# Keywords
class type, C# Keywords, Data Marshaling
classes
abstract, Abstract Classes and Members
base keywords, base keyword
cloning instances for, ICloneable Interface
concrete collection classes, Concrete Collection Classes
constant field, Constants
conversions, Class Conversions
destructors and, base keyword
fields, Fields
finalizers and, base keyword
indexers, indexing elements in a class, Indexers
instance constructors, Instance Constructors
instance vs. static members and, Instance and Static Members
marshaling, Marshaling Classes and Structs
math, Math Class
nested types and, Nested Types
object, Object ClassCreating FCL-friendly types
properties, Properties
sealed, Sealed Methods and Sealed Classes, C# Keywords
static constructors, Static Constructors
StringBuilder, StringBuilder Class
structs, differences between, Differences Between Classes and Structs
System.Object, definition of, Object Class
this keyword and, this keyword
close method, Dispose and Close Methods
CLR (Common Language Runtime), Programming the.NET Framework
features of, Common Language Runtime
garbage collectors and, The Garbage Collector
Interop with COM, Interop with COM
CLS (Common Language Specification), Common Language Runtime
CLSCompliant attribute, CLSCompliant attribute
XML tag, Predefined XML Tags
collections, CollectionsIHashCodeProvider interface, Collections
concrete collection classes, Concrete Collection Classes
interfaces, Collection InterfacesIHashCodeProvider interface
collections, using foreach loops, foreach loops
COM Callable Wrapper (CCW), Exposing C# Objects to COM
COM objects, Interop with COMComRegisterFunction attribute
exposing to C#, Exposing COM Objects to C#
Interop supporting attributes, Common COM Interop Support Attributes
mapping in C#, COM Mapping in C#
comments (// or /* ... */), C/C++-Style Comments
Common Language Runtime (see CLR)
Common Language Specification (see CLS)
Common Type System (see CTS)
common types, Common Types
ICloneable interface for, ICloneable Interface
IComparable interface for, IComparable Interface
IFormattable interface for, IFormattable Interface
marshaling, Marshaling Common Types
object classes and, Object ClassCreating FCL-friendly types
compiling
.NET programs, Common Language Runtime
supporting custom attributes, Compiler Support for Custom Attributes
components
orientation (C# language feature), C# Language
tool support for FCL, Compiler and Tool Support
ComRegisterFunction attribute, ComRegisterFunction attribute
ComVisible attribute, ComVisible attribute
concrete classes
collections, Concrete Collection Classes
Stream-derived, Concrete Stream-derived classes
StreamReader/StreamWriter, StreamReader and StreamWriter classes
StringReader/StringWriter, StringReader and StringWriter classes
conditional operator, precedence of, Operator Precedence
configuration for FCL, Configuration
const keyword, C# Keywords
constant declaration, Declaration Statements
constant field, Constants
constants, Constants
constructors
instance, Instance Constructors
static, Static Constructors
continue statement, continue statement, C# Keywords
within switch statements and, switch statement
conversions
arrays, Array Conversions
bool type and, bool type
char type and, char type
decimal datatype and, decimal type
enum, Enum Conversions
floating-point type and, Floating-point types
implicit/explicit, Implicit and Explicit Conversions
integral types, Integral types
interfaces, Interface Conversions
object types and, object type
string types and, string type
Convert type, Core Types
CopyTo( ) method, ICollection interface
core types, Core Types
Count property, ICollection interface
cross language integration in CLR, Common Language Runtime
CrossRefAttribute attribute, defining a new custom attribute, Defining a New Custom Attribute
Csc.exe (C# compiler), Essential .NET Tools
CTS (Common Type System), Common Language Runtime
Currency enum value for UnmanagedType, MarshalAs attribute
custom attributes, Custom AttributesRetrieving a Custom Attribute at Runtime
compiler support for, Compiler Support for Custom Attributes
defining, Defining a New Custom Attribute
language support for, Language Support for Custom Attributes
predefined attributes and, Predefined Attributes
retrieving at runtime, Retrieving a Custom Attribute at Runtime
runtime support for, Runtime Support for Custom Attributes
custom implicit/explicit conversions, Custom implicit and explicit conversions
CustomMarshaler enum value for UnmanagedType, MarshalAs attribute

D

data access, Data Access
data marshaling, Data MarshalingData Marshaling
data members, Classes and Structs
DateTime
extended type, Core Types
format specifiers, DateTime Format Specifiers
DBNull extended types, Core Types
deadlocks, synchronizing threads, Deadlocks
DEBUG symbol, Preprocessor Directives
debugging for FCL, Diagnostics and Debugging
decimal datatype, decimal type, C# Keywords
data marshaling for, Data Marshaling
for special types and operators, Special Types and Operators
default keyword, C# Keywords
default values, Default Values
delegate keyword, C# Keywords
delegates, DelegatesDelegates Compared with Interfaces
defining for an event, Defining a Delegate for an Event
function pointers, comparing with, Delegates Compared with Function Pointers
interfaces, comparing with, Delegates Compared with Interfaces
multicast, Multicast Delegates
Delphi closure, comparing with delegates, Delegates Compared with Function Pointers
deployment in CLR, Common Language Runtime
dereference (*) operator, Pointer Types
derived class, Inheritance
destructors, base keyword
development in CLR, Common Language Runtime
diagnostics for FCL, Diagnostics and Debugging
Directory classes, Directories and Files
DispId attribute, DispId attribute
dispose method, Dispose and Close Methods
division remainder (%), Operators
division remainder(%)
precedence of, Operator Precedence
dll-name parameter, for DllImport attribute, DllImport attribute
DllImport attribute, DllImport attribute
DLLs (native), Interop with Native DLLsOut attribute
DNS (Domain Name System), using, Using DNS
do statement, C# Keywords
do-while loops, do-while loops
documentation comments (///), Documentation Comments
Domain Name System (see DNS)
double datatype, Data Marshaling
double floating-point type, Floating-point types
double type, C# Keywords
using trigonometric and exponential functions, Math Class
downcasting classes, Class Conversions

E

E XML type ID prefix, Type or Member Cross-References
else statement, C# Keywords
empty statements, Empty Statements
encoding strings, Encoding Strings
Enter methods, Enter and Exit methods
synchronizing threads, The lock statement
enum type, C# Keywords, Data Marshaling
core types and, Core Types
default value of, Default Values
switch statements, using, switch statement
enums, Enums
conversions, Enum Conversions
operators relevant to, Enum Operators
equality operators, precedence of, Operator Precedence
Equals( ) method, Object Class, Object Class, Creating FCL-friendly types
Error enum value for UnmanagedType, MarshalAs attribute
event keyword, Declaring and Firing an Event, C# Keywords
EventArgs, storing data for events, Storing Data for an Event with EventArgs
events, EventsEvent Accessors
accessors, Event Accessors
declaring and firing, Declaring and Firing an Event
defining a delegate, Defining a Delegate for an Event
EventArgs, storing data for, Storing Data for an Event with EventArgs
handlers, acting on, Acting on an Event with Event Handlers
ExactSpelling parameter, for DllImport attribute, DllImport attribute
XML tag, Predefined XML Tags
Exception type, Core Types
XML tag, Predefined XML Tags
exceptions, try StatementKey Properties of the System.Exception Class
catch statement, catch
variables, omitting, Omitting the exception variable
exclusive (maximum) value, Random Class
Exit methods, Enter and Exit methods
synchronizing threads, The lock statement
explicit conversions, Implicit and Explicit Conversions, Custom implicit and explicit conversions, C# Keywords
expressions, Expressions and OperatorsArithmetic Overflow Check Operators
expression statements and, Expression Statements
extern methods, Methods, C# Keywords

F

F XML type ID prefix, Type or Member Cross-References
false keyword, Three-state logic operators, C# Keywords
FCL (Framework Class Library), Framework Class Library, Programming the.NET Framework, Compiler and Tool Support
advanced component services, Advanced Component Services
assemblies for, Assemblies
client applications and, Rich Client Applications
collections for, Collections
concrete collection classes and, Concrete Collection Classes
configuration for, Configuration
core types and, Core Types
creating friendly types, Creating FCL-friendly types
data access, Data Access
diagnostics and debugging for, Diagnostics and Debugging
globalization and, Globalization
graphics and, Graphics
I/O framework for, Input/OutputDirectories and Files
native OS facilities, Native OS Facilities
networking, NetworkingUsing DNS, Networking
overview of, Framework Class Library OverviewNative OS Facilities
runtime facilities for, Runtime Facilities
security and, Security
streams and I/O, Streams and I/O
text, provided by, Text
threading, Threading
undocumented types, Undocumented Types
unmanaged code and, Interoperating with Unmanaged Code
web-based applications and, Web-Based Applications
XML and, XML
FieldOffset attribute parameter for StructLayout attribute, FieldOffset attribute
fields, Fields
definite assignment, Definite Assignment
instance fields, assigning, Static field initialization order
static fields, assigning, Static field initialization order
File classes, Directories and Files
files, FilesGlobal namespace
FileStream class, Concrete Stream-derived classes
Finalize( ) methods, Object Class
automatic memory management and, Finalizers
finalizers, base keyword, Finalizers
finally blocks, finally, C# Keywords
simplifying program execution, try Statement
fixed statement, The fixed Statement, C# Keywords
float datatype, C# Keywords, Data Marshaling
floating-point types, Floating-point types
flushing (streams), Abstract Stream class
for loops, for loops
for statement, C# Keywords
foreach statement, foreach loops, C# Keywords
implementing the IEnumerable interface, IEnumerable interface
Format method, Formatting Strings
format specifiers, Format SpecifiersDateTime Format Specifiers
picture, Picture Format Specifiers
FormatString, for formatting strings, Formatting Strings
function members, Classes and Structs
function pointers, comparing with delegates, Delegates Compared with Function Pointers
function-name parameter, for DllImport attribute, DllImport attribute
FunctionPtr enum value for UnmanagedType, MarshalAs attribute

G

gacutil utility, working with assemblies, Managing the Global Assembly Cache
garbage collectors (GCs), The Garbage Collector
cleanup of non-memory resources, Destructors and Finalizers
GCs (see garbage collectors)
generations, in garbage collecting, Optimization Techniques
generic request/response architecture, Generic Request/Response Architecture
get keyword, C# Keywords
GetCustomAttribute method, retrieving a custom attribute at runtime, Retrieving a Custom Attribute at Runtime, Retrieving a Custom Attribute at Runtime, Retrieving a Custom Attribute at Runtime
GetHashCode( ) method, Object Class
GetLength method, returning number of elements, Array Length and Rank
GetType( ) method, Object Class
global assembly cache
managing, Managing the Global Assembly Cache
global namespace, Global namespace
globalization, Globalization
goto label statement, using switch statements, switch statement
goto statements, goto statement, C# Keywords
using switch statements, switch statement
graphics, Graphics
Group class, Group Class
Guid attribute, Guid attribute

H

Hashtable class, Hashtable class, Collections
Hejlsberg, Anders (co-creator of C# language), C# Language
HTTP-specific support, HTTP-Specific Support

I

I1/I2/I4/I8 enum values for UnmanagedType, MarshalAs attribute
ICloneable interface, ICloneable Interface
core types and, Core Types
ICollection interface, ICollection interface
IComparable interface, IComparable Interface
core types and, Core Types
IComparer interface, IComparer interface
IConvertible interface
core types and, Core Types
identifiers, Identifiers
IDictionary interface, IDictionary interface
IDictionaryEnumerator interface, IDictionaryEnumerator interface
IDispatch enum value for UnmanagedType, MarshalAs attribute
IEnumerable interface, IEnumerable interface
foreach loops and, foreach loops
IEnumerator interface, IEnumerator interface
if statement, C# Keywords
if-else statements, if-else statement
IFormattable interface, IFormattable Interface
core types and, Core Types
IHashCodeProvider interface, IHashCodeProvider interface
ILAsm.exe
disassembler, for exploring BLC, Framework Class Library Overview
IList interface, ArrayList class, IList interface
implicit conversions, Implicit and Explicit Conversions, Custom implicit and explicit conversions
implicit operator, C# Keywords
imutable strings, Immutability of Strings
In attribute, In attribute
in operator, C# Keywords
XML tag, Predefined XML Tags
inclusive (minimum) value, Random Class
indexing strings, Indexing Strings
inheritance, InheritanceVersioning Virtual Function Members
InnerException argument, Key Properties of the System.Exception Class
input/output, Input/OutputDirectories and Files
directories and files, Directories and Files
FCL and, Streams and I/O
InstallUtil.exe (installer utility), Essential .NET Tools
instances, Retrieving the Type for an Instance
constructors, Instance Constructors
members, Type Instances, Instance and Static Members
int integral type, Integral types, C# Keywords, Data Marshaling
integral conversions, Integral conversions
integral types, Integral types
Interface enum value for UnmanagedType, MarshalAs attribute
interfaces, InterfacesInterface Conversions, Collections
collections, Collection InterfacesIHashCodeProvider interface
conversions, Interface Conversions
defining, Defining an Interface
delegates, comparing with, Delegates Compared with Interfaces
explicitly implementing, Explicit Interface Implementation
extending, Extending an Interface
ICloneable/IComparable, IComparable Interface
IFormattable, IFormattable Interface
implementing, Implementing an Interface
reimplementing, Reimplementing an Interface
types, C# Keywords, Data Marshaling
InterfaceType attribute, InterfaceType attribute
internal access modifier, Access Modifiers, C# Keywords
interning (string), String Interning
Interop
with COM, Interop with COM
with native DLLs, Interop with Native DLLsOut attribute
InvalidCastException, downcasting classes, Class Conversions
is operator, is operator, C# Keywords
precedence of, Operator Precedence
IsReadOnly( ) method, ICollection interface
IsSynchronized( ) method, ICollection interface
IUnknown enum value for UnmanagedType, MarshalAs attribute
IWebRequestCreate interface, adding new protocol handlers, Adding New Protocol Handlers

J

jagged arrays, Multidimensional Arrays
jump statements, jump Statements

L

last-in first-out (LIFO) data structure, Stack class
late binding, Late Binding to Types
layout-enum parameter for StructLayout attribute, StructLayout attribute
lazy quantifiers, in regular expressions, Regular Expressions
left-associative, Operator Precedence
Legacy code, interoperability with CLR, Common Language Runtime
Length property, Abstract Stream class
leveraging (C# language feature), C# Language
LIFO (last-in first-out) data structure, Stack class
XML tag, Predefined XML Tags
literals
bool types and, bool conversions
char, char type
decimal types and, decimal type
floating-point, Floating-point types
integer, Integral types
null keyword, C# Keywords
numeric 0, converting to a enum, Enum Conversions
string, string type
lock statement, lock statement, C# Keywords
thread synchronization and, The lock statement
logical bitwise operator (see bitwise operators)
long integral type, Integral types, C# Keywords, Data Marshaling
loop statements, Loop Statements
LPArray enum value for UnmanagedType, MarshalAs attribute
LPStr enum value for UnmanagedType, MarshalAs attribute
LPStruct enum value for UnmanagedType, MarshalAs attribute
LPTStr enum value for UnmanagedType, MarshalAs attribute
LPVoid enum value for UnmanagedType, MarshalAs attribute
LPWStr enum value for UnmanagedType, MarshalAs attribute

M

assembly version numbers, Versioning
assembly version numbers, Versioning
M XML type ID prefix, Type or Member Cross-References
Main( ), A First C# Program
manifests in assemblies, Elements of an Assembly
MarshalAs attribute, MarshalAs attribute
marshaler (CLR)
for classes and structs, Marshaling Classes and Structs
common types and, Marshaling Common Types
in/out attributes, In and Out Marshaling
Match class, Match and MatchCollection Classes
MatchCollection class, Match and MatchCollection Classes
Math class, Math Class
math-oriented programming, MathRandom Class
random class for, Random Class
special types/operators for, Special Types and Operators
math-oriented programming and, Special Types and Operators
maximum (exclusive) value, Random Class
member access (x.y), Operator Precedence
member cross references (XML), Type or Member Cross-References
members
classes, Abstract Classes and Members
instance vs. static, Instance and Static Members
operators, Pointer to Member Operator
reflection and, Types, members, and nested types
MemberwiseClone( ) method, Object Class
memory
automatic management, Automatic Memory ManagementDispose and Close Methods
memory for types, Types and Memory
Message string, Key Properties of the System.Exception Class
metadata, Reflection and Metadata
metadata, compiling .NET programs, Common Language Runtime
method call (f(x)) operator, Operator Precedence
method signatures, in delegate declarations, Delegates
Microsoft Intermediate Language (MSIL) code, compiling .NET programs, Common Language Runtime
Microsoft .NET framework (see .NET framework)
minimum (inclusive) value, Random Class
MinWidth, for formatting strings, Formatting Strings
modify operators, precedence of, Operator Precedence
modules, Elements of an Assembly
building, Linking Modules to Assemblies
reflection and, Assemblies and modules
monitor class, Monitor Class
Monitor class, synchronizing threads, The lock statement
MSIL (Microsoft Intermediate Language) code, complying .NET programs, Common Language Runtime
multicast delegates, Multicast Delegates
multidimensional arrays, Multidimensional Arrays
multiplicative operators, precedence of, Operator Precedence
mutable strings, Immutability of Strings

N

modifier, Data Marshaling
N XML type ID prefix, Type or Member Cross-References
named parameter, Named and Positional Parameters
namespace declaration
aliasing types and, Aliasing types and namespaces
namespace keyword, C# Keywords
namespaces, Namespaces and AssembliesNamespaces and Assemblies
native DLLs, Interop with Native DLLsOut attribute
NativeTypeMax enum value for UnmanagedType, MarshalAs attribute
nested types, Nested Types
reflection and, Types, members, and nested types
nesting namespaces, Nesting namespaces
.NET framework
Common Language Runtime (CLR) and, Common Language Runtime
Framework Class Library (FCL) and, Framework Class Library
introduction to, Introduction
programming, Programming the.NET FrameworkComRegisterFunction attribute
.NET platform, working in C#, Framework Class Library Overview
networking, NetworkingUsing DNS
DNS, using, Using DNS
FCL and, Networking
generic request/response architecture, Generic Request/Response Architecture
HTTP-specific support, HTTP-Specific Support
programming models, Network Programming Models
protocol handlers, adding new, Adding New Protocol Handlers
using TCP, UDP, and Sockets, Using TCP, UDP, and Sockets
NetworkStream class, Concrete Stream-derived classes
new keyword, C# Keywords
Ngen.exe (native image generator), Essential .NET Tools
nmake, working with assemblies, Using nmake
NonSerialized attribute, NonSerialized attribute

O

object class, Object ClassCreating FCL-friendly types
FCL-friendly types, Creating FCL-friendly types
object type, object type, Object Class, C# Keywords
COM default datatype mapping, Data Marshaling
core types and, Core Types
inheriting, Inheritance
Object( ) method, Object Class
Obsolete attribute, Obsolete attribute
compiling custom attributes, Compiler Support for Custom Attributes
one-stop coding (C# language feature), C# Language
operator keyword, C# Keywords
operators
enums and, Enum Operators
implicit/explicit conversions and, Custom implicit and explicit conversions
math-oriented programming and, Special Types and Operators
three-state logic, Three-state logic operators
value equality, implementing, Implementing value equalityLogically paired operators
Out attribute, Out attribute
out modifier, out modifier, C# Keywords, Data Marshaling
overloadable operators, Indirectly overloadable operators
overloading methods, Overloading methods
override keyword, C# Keywords

P

XML tag
user-defining, User-Defined Tags
P XML type ID prefix, Type or Member Cross-References
pack size, Marshaling Classes and Structs
packaging of assemblies, Packaging
packing-size parameter for StructLayout attribute, StructLayout attribute
XML tag, Predefined XML Tags
XML tag, Predefined XML Tags
ParamIndex, for formatting strings, Formatting Strings
XML tag, Predefined XML Tags
params parameter modifiers, C# Keywords
in delegate declaration, Delegates
pause time, in garbage collecting, Optimization Techniques
PE (Portable Executable) files, packaging, Packaging
XML tag, Predefined XML Tags
PEVerify.exe (portable executable verifier), Essential .NET Tools
picture format specifiers, Picture Format Specifiers
PInvoke (Platform Invocation Services), Interop with Native DLLs
placeholders, Empty Statements
Platform Invocation Services (PInvoke), Interop with Native DLLs
Point class, using types, Using a type with its fully qualified name
pointer types, Pointer types, Unsafe Code and PointersPointers to Unmanaged Code
pointer-to-member (->) operator, Pointer Types
polymorphism, Polymorphism
Portable Executable (PE) files, packaging, Packaging
portable executable verifier (PEVerify.exe), Essential .NET Tools
Position property, Abstract Stream class, Abstract Stream class
positional parameter, Named and Positional Parameters
precedence, of operators, Operator Precedence
predefined types, Predefined Typesstring type
bool, bool type
char, char type
decimal, decimal type
floating-point, Floating-point types
integral, Integral types
object, object type
string, string type
predinined attributes, Predefined Attributes
preprocessor directives, Preprocessor Directives
PreserveSig parameter, for DllImport attribute, DllImport attribute
primary operators, precedence of, Operator Precedence
primitive types, Default Values
private access modifiers, Access Modifiers, C# Keywords
private assemblies, Deployment
ProgId attribute, ProgId attribute
programming, Programming the.NET FrameworkComRegisterFunction attribute
assemblies for, AssembliesSecurity Permissions
collections for, CollectionsIHashCodeProvider interface
common types for, Common Types
custom attributes for, Custom AttributesRetrieving a Custom Attribute at Runtime
input/output for, Input/OutputDirectories and Files
Interop with Native DLLs for, Interop with Native DLLsOut attribute
math, supporting language for, MathRandom Class
networking for, NetworkingUsing DNS
reflection for, ReflectionCreating New Types at Runtime
regular expressions for, Regular Expressions
strings for, StringsStringBuilder Class
threads for, ThreadingPulse and PulseAll methods
programming models, Network Programming Models
property field, Properties
protected access modifier, Access Modifiers, C# Keywords
protected internal access modifier, Access Modifiers
protocol handlers
adding new, Adding New Protocol Handlers
configuring requests, Generic Request/Response Architecture
pseudo-custom attributes, compiling custom attributes, Compiler Support for Custom Attributes
public access modifier, Access Modifiers, C# Keywords
Pulse methods, Pulse and PulseAll methods
pulse operations, Pulse and Wait operations
PulseAll methods, Pulse and PulseAll methods

Q

Queue class, Queue class, Collections

R

modifier, Data Marshaling
assembly version numbers, Versioning
R4 enum value for UnmanagedType, MarshalAs attribute
R8 enum value for UnmanagedType, MarshalAs attribute
Random class, Random Class
RCW (Runtime Callable Wrapper), Exposing COM Objects to C#
readonly field modifiers, Versioning with constants, C# Keywords
rectangular arrays, Multidimensional Arrays
ref modifier, ref modifier, C# Keywords, Data Marshaling
reference types, Reference types
ReferenceEquals( ) method, Object Class
reflection, ReflectionCreating New Types at Runtime, Reflection and Metadata
activation for, Activation
advanced uses of, Advanced Uses of Reflection
late binding and, Late Binding to Types
retrieving the type for an instance, Retrieving the Type for an Instance
type hierarchy and, Type Hierarchy
RegAsm.exe
binding COM and C# objects, Binding COM and C# Objects
ComRegisterFunction attribute and, ComRegisterFunction attribute
register assembly tool, Essential .NET Tools
Regex class, Regex Class
register assembly tool (RegAsm.exe), Essential .NET Tools
register services utility (RegSvcs.exe), Essential .NET Tools
RegSvcs.exe (register services utility), Essential .NET Tools
regular expressions, Regular Expressions, Regular ExpressionsRegular Expressions
relational operators, precedence of, Operator Precedence
ReleaseComObject method, exposing COM objects to C#, Exposing COM Objects to C#
XML tag, Predefined XML Tags
Remoting, Remoting
request architecture (generic), Generic Request/Response Architecture
resources, Elements of an Assembly
response architecture (generic), Generic Request/Response Architecture
retrieving type for, Retrieving the Type for an Instance
return statement, return statement, C# Keywords
XML tag, Predefined XML Tags
right-associative, Operator Precedence
roots, in garbage collections, The Garbage Collector
RPrecise enum value for UnmanagedType, MarshalAs attribute
runtime
facilities, Runtime Facilities
interactivity (CLR feature), Common Language Runtime
support for custom attributes, Runtime Support for Custom Attributes
Runtime Callable Wrapper (RCW), Exposing COM Objects to C#
Runtime.InteropServices.Marshal type, exposing COM objects to C#, Exposing COM Objects to C#

S

SafeArray enum value for UnmanagedType, MarshalAs attribute
sbyte integral type, Integral types, C# Keywords, Data Marshaling
SDK (Software Developer Kit), Preface
sealed classes, Sealed Methods and Sealed Classes, C# Keywords
security
of CLR, Common Language Runtime
in FCL, Security
permissions for assemblies, Security Permissions
XML tag, Predefined XML Tags
XML tag, Predefined XML Tags
selection statements, Selection Statements
semicolon (;)
empty statements and, Empty Statements
in expression statements, Expression Statements
Serializable attribute, Serializable attribute
compiling custom attributes, Compiler Support for Custom Attributes
retrieving a custom attribute at runtime, Retrieving a Custom Attribute at Runtime
serialization, Serialization
set keyword, C# Keywords
SetLastError parameter, for DllImport attribute, DllImport attribute
shareable assemblies, Building Shareable Assemblies
shared assemblies, Deployment
shared name utility (Sn.exe), Essential .NET Tools
shared names, Deployment
shift operators, precedence of, Operator Precedence
short integral type, Integral types, C# Keywords
COM type mapping and, Data Marshaling
signature, Signatures
signed integers, Integral types
Size parameter for StructLayout attribute, StructLayout attribute
sizeof operator, C# Keywords
precedence of, Operator Precedence
relevance to enums, Enum Operators
Sn.exe (shared name utility), Essential .NET Tools
snarf utility (Unix), Generic Request/Response Architecture
SoapSuds.exe (SoapSuds utility), Essential .NET Tools
Software Developer Kit (SDK), Preface
SortedList class, SortedList class
specialized class, Inheritance
specifiers
DateTime, DateTime Format Specifiers
Stack class, Stack class, Collections
stackalloc operator, Operator Precedence, C# Keywords
allocating memory in a block, The stackalloc Keyword
StackTrace property (Exceptions), Key Properties of the System.Exception Class
statement blocks, Statements
static constructors, Static Constructors
nondeterminism of, Nondeterminism of static constructor calls
static field initialization order, Static field initialization order
static members, Type Instances, Instance and Static Members, C# Keywords
Stream class, Abstract Stream class
encapsulating raw streams, Encapsulating raw streams
StreamReader classes, StreamReader and StreamWriter classes
streams (data flow), Streams and Backing Stores
StreamWriter classes, StreamReader and StreamWriter classes
String class, String Class
text for handling immutable strings, Text
string interning, String Interning
string type, string type, C# Keywords, Data Marshaling
switch statements, using, switch statement
StringBuilder class, StringBuilder Class
creating a mutable string, Immutability of Strings
text and, Text
StringCollection class, StringCollection class
StringReader classes, StringReader and StringWriter classes
strings, StringsStringBuilder Class
encoding, Encoding Strings
formatting, Formatting Strings
immutability of, Immutability of Strings
indexing, Indexing Strings
interning, String Interning
StringBuilder class, using to represent, StringBuilder Class
StringWriter classes, StringReader and StringWriter classes
Struct enum value for UnmanagedType, MarshalAs attribute
struct keyword, C# Keywords
struct size retrieval (sizeof) operator, Operator Precedence
StructLayout attribute, StructLayout attribute
structs
base keywords, base keyword
classes, differences between, Differences Between Classes and Structs
cloning instances for, ICloneable Interface
constants, Constants
destructors, base keyword
finalizers, base keyword
indexers, indexing elements in a class, Indexers
instance constructors, Instance Constructors
instance vs. static members and, Instance and Static Members
marshaling, Marshaling Classes and Structs
nested types and, Nested Types
properties, Properties
static constructors and, Static Constructors
this keyword and, this keyword
subclass, Inheritance
.SUFFIXES keyword, working with assemblies, Using nmake
XML tag, Predefined XML Tags
superclass, Inheritance
SuppressFinalize method, Dispose and Close Methods
switch statements, switch statement, C# Keywords
synchronization of threads, Thread SynchronizationAtomic operations
SyncRoot( ) method, ICollection interface
SysInt enum value for UnmanagedType, MarshalAs attribute
System namespace
common types, location of, Common Types
core types, location of, Core Types
math-oriented types, location of, Math
strings, location of, Strings
System.Array
array conversion and, Array Conversions
declaring array types, Arrays
System.Attribute class, Attribute Classes
compiler support for custom attributes, Compiler Support for Custom Attributes
defining a new attribute, Defining a New Custom Attribute
System.Byte system type, Integral types
System.Char system type, char type
System.Currency type, Data Marshaling
System.DateTime type, Data Marshaling
System.Double system type, Floating-point types
System.Enum type, Enums
System.EventArgs, storing data about events, Defining a Delegate for an Event
System.Exception class, catch
key properties of, Key Properties of the System.Exception Class
System.GC type
finalize method, suppressing, Dispose and Close Methods
initiating a garbage collection, The Garbage Collector
System.Guid type, Data Marshaling
System.Int16 system type, Integral types
System.Int32 system type, Integral types
System.Int64 system type, Integral types
System.Net.Sockets namespace, providing protocol-level support for TCP and UDP, Using TCP, UDP, and Sockets
System.Object class, definition of, Object Class
System.Object system type, object type
System.Reflection.Emit namespace, creating new types at runtime, Creating New Types at Runtime
System.Sbyte system type, Integral types
System.Single system type, Floating-point types
System.String class, String Class
System.String system type, string type
System.Text.RegularExpressions namespace, location of regular expressions, Regular Expressions
System.Thread, Threading
System.Threading.Monitor class, using an instance as a monitor, Monitor Class
System.ThreadStaticAttribute, Threading
System.UInt16 system type, Integral types
System.UInt32 system type, Integral types
System.UInt64 system type, Integral types
SysUInt enum value for UnmanagedType, MarshalAs attribute

T

T XML type ID prefix, Type or Member Cross-References
tags (XML), Predefined XML TagsType or Member Cross-References
user-defined, User-Defined Tags
target-enum, using AttributeUsage attribute, AttributeUsage attribute
targets (attributes), Explicitly Specifying Attribute Targets
TBStr enum value for UnmanagedType, MarshalAs attribute
TCP (Transmission Control Protocol), Network Programming Models
using, Using TCP, UDP, and Sockets
TcpClient class, providing TCP support, Using TCP, UDP, and Sockets
TcpListener class, providing TCP support, Using TCP, UDP, and Sockets
Test class, retrieving a custom attribute at runtime, Retrieving a Custom Attribute at Runtime
text, supported by FCL, Text
TextReader class (abstract), Abstract TextReader/TextWriter classes
TextWriter class (abstract), Abstract TextReader/TextWriter classes
this keyword, this keyword, C# Keywords
Thread InterruptedException, obtaining/releasing a lock on an object, Enter and Exit methods
threads, ThreadingPulse and PulseAll methods
common types, Common Thread Types
monitor class, Monitor Class
synchronizing, Thread SynchronizationAtomic operations
threads, FCL and, Threading
three-state logic operators, Three-state logic operators
throw statement, throw statement, C# Keywords
using switch statements, switch statement
TimeSpan extended type, Core Types
TlbExp.exe, Essential .NET Tools
binding COM and C# objects, Binding COM and C# Objects
TlbImp.exe, Essential .NET Tools
binding COM and C# objects, Binding COM and C# Objects
tools
for .NET, Essential .NET ToolsEssential .NET Tools
for exploring BCLs, Framework Class Library Overview
support for FCL, Compiler and Tool Support
ToString( ) method, Object Class
tracing garbage collector, The Garbage Collector
Transmission Control Protocol (see TCP)
true keyword, Three-state logic operators, C# Keywords
try statement, try StatementKey Properties of the System.Exception Class, C# Keywords
TryEnter methods, TryEnter methods
type ID prefixes (XML), Type or Member Cross-References
type instances, Type Instances
type library exporter (TlbExp.exe), Essential .NET Tools
type library importer (Tlblmp.exe), Essential .NET Tools
type members, Classes and Structs
Type object, gaining access to, Object Class
typeof (type retrieval) operator, Operator Precedence, C# Keywords
TypeRef identifier, Type Resolution
types, TypesBoxing and unboxing value types
aliasing namespaces and, Aliasing types and namespaces
categories of, Categories of Types
creating at runtime, Creating New Types at Runtime
default values of, Default Values
explicit conversions, Implicit and Explicit Conversions
files, organizing, FilesGlobal namespace
implicit conversions, Implicit and Explicit Conversions, Custom implicit and explicit conversions
math-oriented programming and, Special Types and Operators
memory and, Types and Memory
organizing, Organizing TypesGlobal namespace
pointer, Pointer types
predefined, Predefined Typesstring type
reference, Reference types
reflection and, Types, members, and nested types
resolution, Type Resolution
retrieving for an instance, Retrieving the Type for an Instance
type instances, Type Instances
value, Value types

U

U1/U2/U4/U8 enum values for UnmanagedType, MarshalAs attribute
UDP (User Datagram Protocol), Network Programming Models
using, Using TCP, UDP, and Sockets
uint integral type, Integral types, C# Keywords, Data Marshaling
ulong integral type, Integral types, C# Keywords, Data Marshaling
unary operators, precedence of, Operator Precedence
unboxing value types, Boxing and unboxing value types
unchecked (arithmetic check off) operator, Operator Precedence, C# Keywords
underscore ( _ ) (identifiers), Identifiers
undocumented types, Undocumented Types
Unicode characters
representing char types, char type
representing string types, string type
unified type system, C# Language, Unified Type SystemBoxing and unboxing value types
Uniform Resource Indicator (see URI)
Unix snarf utility, Generic Request/Response Architecture
unmanaged code, Pointers to Unmanaged Code
callbacks from, Callbacks from Unmanaged Code
FCL (Framework Class Library) and, Interoperating with Unmanaged Code
UnmanagedType enum values, MarshalAs attribute
unsafe code, Unsafe Code and PointersPointers to Unmanaged Code
unsafe modifier, C# Keywords
unsigned integers, Integral types
upcasting classes, Class Conversions
URI (Uniform Resource Indicator), Generic Request/Response Architecture
User Datagram Protocol (see UDP)
user-defined tags, User-Defined Tags
ushort integral type, Integral types, C# Keywords, Data Marshaling
using keyword, using keyword, C# Keywords
using statement, using statement

V

value keyword, C# Keywords
value types, Value types
boxing and unboxing, Boxing and unboxing value types
memory for, Memory for value types
simple types and, Simple types are value types
XML tag, Predefined XML Tags
ValueType type, Core Types, Data Marshaling
variables, Variables
assigning, Definite Assignment
default values for, Default Values
VariantBool enum value for UnmanagedType, MarshalAs attribute
VBByRefStr enum value for UnmanagedType, MarshalAs attribute
verbatim string literals, string type
version numbers (assembly), Versioning
versioning
as a C# language feature, C# Language
as a CLR feature, Common Language Runtime
with constants, Versioning with constants
virtual function members, Versioning Virtual Function Members
virtual function members, Virtual Function Members
versioning, Versioning Virtual Function Members
virtual keyword, C# Keywords
void keyword, C# Keywords
void* keyword, void*
volatile keyword, Fields, C# Keywords

W

wait methods, Wait methods
wait operations, Pulse and Wait operations
web-based applications, Web-Based Applications
WebRequestFactory, creating protocol for requests, Generic Request/Response Architecture
while loop statement, while loops, Three-state logic operators, C# Keywords
Wiltamuth, Scott (cocreator of C# language), C# Language
WinCV.exe, Essential .NET Tools
for exploring BCLs, Framework Class Library Overview
windows class viewer (WinCV.exe), as a .NET tool, Essential .NET Tools
Wsdl.exe (web services description language tool), Essential .NET Tools

X

XML documentation, XML DocumentationType or Member Cross-References
FCL (Framework Class Library) and, XML
files, XML Documentation Files
predefined tags, Predefined XML TagsType or Member Cross-References
type/member cross references, Type or Member Cross-References
user-defined tags, User-Defined Tags
XML schema definition tool (Xsd.exe), Essential .NET Tools
Xsd.exe (XML schema definition tool), Essential .NET Tools
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset