Index

Symbols

! XML type ID prefix, Type or Member Cross References
! (not) operator
precedence of, Operator Precedence
!= operator, Creating BCL-friendly types
Equals ( ) method and, Object Class
precedence of, Operator Precedence
preprocessor directives and, Preprocessor Directives
relevance to enums, Enum Operators
#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
precedence of, Operator Precedence
%= operator, precedence of, Operator Precedence
& (bitwise and) operator
address-of, returning a pointer, Pointer Types
precedence of, Operator Precedence
relevance to enums, Enum Operators
&& 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
(comments), C/C++-Style Comments
* (multiplication) operator
precedence of, Operator Precedence
* ... * (comments), C/C++-Style Comments
*= operator, precedence of, Operator Precedence
*? lazy quantifiers, in regular expressions, Regular Expressions
+ (addition) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
++ (increment) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
+= operator
delegates, invoking, Multicast Delegates
precedence of, Operator Precedence
relevance to enums, Enum Operators
+? lazy quanifiers, in regular expressions, Regular Expressions
- (subtraction) operator
negative value, precedence of, Operator Precedence
-- (decrement) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
-= (subtraction assignment) operator
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, precedence of, Operator Precedence
/// (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
precedence of, Operator Precedence
relevance to enums, Enum Operators
<< operator
precedence of, Operator Precedence
<<= operator, precedence of, Operator Precedence
<= operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
= (assignment) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
== (equals) operator, Creating BCL-friendly types
Equals ( ) method and, Object Class
precedence of, Operator Precedence
preprocess directives and, Preprocessor Directives
relevance to enums, Enum Operators
>> operator
precedence of, Operator Precedence
?? lazy quantifiers, in regular expressions, Regular Expressions
?: (conditional statement)
precedence of, Operator Precedence
using three-state logic operators, Three-state logic operators
@
identifiers, Identifiers
verbatim string literals and, string type
[] (indexing), Indexers
arrays, Arrays
customizing attributes, Language Support for Custom Attributes
precedence of, Operator Precedence
specifying multiple attributes, Specifying Multiple Attributes
stackalloc keyword and, The stackalloc Keyword
\* (multiplication) operator
dereference, Pointer Types
\+ (addition) operator, Operators
\> (greater than) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
\>= operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
\>\>= operator, precedence of, Operator Precedence
\\ char type, char type
\\0 char type, char type
\\a char type, char type
\\b char type, char type
\\f char type, char type
\\n char type, char type
\\r char type, char type
\\t char type, char type
\\v char type, char type
\\\\ char type, char type
\\\\" char type, char type
\^ (caret) operator
precedence of, Operator Precedence
\^= operator, precedence of, Operator Precedence
\| (vertical bar) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators
\|= operator, precedence of, Operator Precedence
\|\| operator, Indirectly overloadable operators
precedence of, Operator Precedence
^ (caret) operator
relevance to enums, Enum Operators
_ underscore (identifiers), Identifiers
|| operator
preprocessor directives and, Preprocessor Directives
÷ (tilde) operator
precedence of, Operator Precedence
relevance to enums, Enum Operators

A

abstract classes, Abstract Classes and Members, Attribute Classes, C# Keywords
interfaces, differences from, Interfaces
streams, Abstract Stream class
TextReader/TextWriter, Abstract TextReader/TextWriter classes
abstract methods, Methods
access modifiers, Access Modifiers, Constructor access modifiers
restrictions on, Restrictions on Access Modifiers
activation, Activation
additive operators, precedence of, Operator Precedence
addOn_XXX methods, working with .NET runtime, Acting on an Event with Event Handlers
ADepends.exe (assembly dependency list), Essential .NET Tools
Al.exe (assembly linking utility), Essential .NET Tools
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 stack allocation (stackalloc) operator, Operator Precedence
ArrayList class, ArrayList class, Collections
arrays, Arrays, Array 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, Assemblies, Security Permissions, Namespaces and Assemblies, Namespaces and Assemblies
BCL (Base Class Libraries) and, Assemblies
building shareable, Building Shareable Assemblies
deployment, Deployment
elements of, Elements of an Assembly
packaging, Packaging
reflection and, Assemblies and modules
security permissions, Security Permissions
type resolution, Type Resolution
versioning, Versioning
working with, Working with Assemblies, Using nmake
assembly attribute target, Attribute Targets
assembly dependency list (ADepends.exe), Essential .NET Tools
assembly linking utility (AI.exe), Essential .NET Tools
assembly, deployment in CLR, Common Language Runtime
assign operators, precedence of, Operator Precedence
assignment operators, precedence of, Operator Precedence
atomic operations, synchronizing threads, Atomic operations
atomic types, Default Values
attributes, Attributes, Specifying Multiple Attributes
COM Interop, supporting, Common COM Interop Support Attributes
custom, Custom Attributes, Retrieving 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, 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 Management, Dispose 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

assembly version numbers, Versioning
backing stores, Streams and Backing Stores
base class, Inheritance
constructors, Calling base class constructors, Base class constructor order
base keyword, base keyword, C# Keywords
BCL (Base Class Libraries), Base Class Libraries, Programming the .NET Framework, Component 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
creating friendly types, Creating BCL-friendly types
diagnostics and debugging for, Diagnostics and Debugging
globalization and, Globalization
graphics and, Graphics
I/O framework for, Input/Output, Directories and Files
native OS facilities, Native OS Facilities
networking, Networking, Using DNS, Networking
overview of, Base Class Library Overview, Native OS Facilities
runtime facilities for, Runtime Facilities
security and, Security
streams and I/O, Streams and I/O
text, provided by, Text
threading, Threading
unmanaged code and, Interoperating with Unmanaged Code
web-based applications and, Web-Based Applications
XML and, XML
BCL (Bass Class Libraries)
core types and, Core Types
BCL Monitor, synchronizing threads, The lock statement
binary operators, precedence of, Operator Precedence
BitArray class, BitArray class, Collections
bitwise operator (&)
address-of, returning a pointer, Pointer Types
precedence of, Operator Precedence
relevance to enums, Enum Operators
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
using switch statements, switch statement
BStr enum value for UnmanagedType, MarshalAs attribute
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# Keywords, C# Keywords
C# language, introduction to, C# Language
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( ) method, Abstract Stream class
CanSeek( ) method, Abstract Stream class
CanWrite( ) method, Abstract Stream class
Capture instances, Capture and Capture Collection Classes
CaptureCollection class, Capture and Capture Collection Classes
caret (\^) operator
precedence of, Operator Precedence
caret (^) operator
relevance to enums, Enum Operators
case statement, goto statement, C# Keywords
catch statement, try Statement, 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
CheckFastMarshal parameter for StructLayout attribute, StructLayout attribute
class type, C# Keywords, Data Marshaling
classes, Classes and Structs, Nested Types
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
methods and, Methods
nested types and, Nested Types
object, Object Class, Creating BCL-friendly types
operators and, Operators, Indirectly overloadable operators
properties, Properties
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, Collections, IHashCodeProvider interface, Collections
concrete collection classes, Concrete Collection Classes
interfaces, Collection Interfaces, IHashCodeProvider interface
collections, using foreach loops, foreach loops
COM Callable Wrapper (CCW), Exposing C# Objects to COM
COM objects, Interop with COM, NoIDispatch 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 Class, Creating BCL-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 BCLs, Component 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 attribute, Conditional attribute
conditional operator, precedence of, Operator Precedence
configuration for BCLs, Configuration
const keyword, C# Keywords
constant declaration, Declaration Statements
constant field, Constants
constant width italics, listings of namespaces, Base Class Library Overview
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
interfaces, Interface Conversions
object types and, object type
string types and, string type
Convert type, Core Types
CopyTo( ) method, ICollection interface
CorDbg.exe (runtime debugger), Essential .NET Tools
core types, Core Types
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
custom attributes, Custom Attributes, Retrieving 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 marshaling, Data Marshaling, Data Marshaling
data members, Classes and Structs
DateTime
extended type, Core Types
format specifiers, DateTime Format Specifiers
DbgUrt.exe (GUI debugger), Essential .NET Tools
DBNull extended types, Core Types
deadlocks, synchronizing threads, Deadlocks
debugging for BCL, 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, Delegates, Delegates 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 BCL, Diagnostics and Debugging
Dictionary data structure, Collections
Directory classes, Directories and Files
DispId attribute, DispId attribute
dispose method, Dispose and Close Methods
division remainder (%)
precedence of, Operator Precedence
dll-name parameter, for DllImport attribute, DllImport attribute
DllImport attribute, DllImport attribute
DLLs (native), Interop with Native DLLs, Out 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, Creating BCL-friendly types
Error enum value for UnmanagedType, MarshalAs attribute
event keyword, C# Keywords
EventArgs, storing data for events, Storing Data for an Event with EventArgs
events, Events, Events as Properties
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
properties, Events as Properties
ExactSpelling parameter, for DllImport attribute, DllImport attribute
XML tag, Predefined XML Tags
Exception type, Core Types
XML tag, Predefined XML Tags
exceptions, try Statement, Key Properties of 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 Operators, Arithmetic 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
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, Files, Global namespace
FileStream class, Concrete Stream-derived classes
Finalize( ) methods, Object Class
automatic memory management and, Finalizers
finalizers, base keyword, Finalizers
finally blocks, 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 Specifiers, DateTime 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
GACUtil.exe (global assembly cache utility), Essential .NET Tools
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 attribute, 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
GACUtil.exe utility, Essential .NET Tools
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
GUI debugger (DbgUrt.exe), Essential .NET Tools
Guid attribute, Guid attribute

H

HasDefaultInterface attribute, HasDefaultInterface attribute
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
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, Base Class Library Overview
MSIL assembler, Essential .NET Tools
ILDasm.exe (MSIL disassembler), Essential .NET Tools
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
inclusive (minimum) value, Random Class
indexing strings, Indexing Strings
inheritance, Inheritance, Versioning Virtual Function Members
InnerException argument, Key Properties of System.Exception Class
input/output, Input/Output, Directories and Files
BCL and, Streams and I/O
directories and files, Directories and Files
InstalUtil.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
Interface enum value for UnmanagedType, MarshalAs attribute
interfaces, Interfaces, Interface Conversions, Collections
collections, Collection Interfaces, IHashCodeProvider 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, NoIDispatch attribute
with native DLLs, Interop with Native DLLs, Out 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
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
make utility (nmake.exe), Essential .NET Tools
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, Math, Random 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 Management, Dispose and Close Methods
memory for types, Types and Memory
Message string, Key Properties of System.Exception Class
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
module attribute target, Attribute Targets
modules, Elements of an Assembly
building, Linking Modules to Assemblies
reflection and, Assemblies and modules
monitor class, Monitor Class
MSIL (Microsoft Intermediate Language) code, complying .NET programs, Common Language Runtime
MSIL assembler (ILAsm.exe), Essential .NET Tools
MSIL disassembler (ILDasm.exe), Essential .NET Tools
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, Namespaces
aliasing types and, Aliasing types and namespaces
namespace keyword, C# Keywords
namespaces, Namespaces and Assemblies, Namespaces and Assemblies
native DLLs, Interop with Native DLLs, Out 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
Base Class Libraries (BCL) and, Base Class Libraries
Common Language Runtime (CLR) and, Common Language Runtime
introduction to, Introduction
programing, Programming the .NET Framework, NoIDispatch attribute
.NET platform, working in C#, Base Class Library Overview
networking, Networking, Using DNS
BCL and, Networking
DNS, using, Using DNS
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
nmake, working with assemblies, Using nmake
nmake.exe (make utility), Essential .NET Tools
NoIDispatch attribute, NoIDispatch attribute
NonSerialized attribute, NonSerialized attribute

O

object class, Object Class, Creating BCL-friendly types
BCL-friendly types, Creating BCL-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, Operators, Indirectly overloadable 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
Out attribute, Out attribute
out modifier, out modifier, C# Keywords, Data Marshaling
overloadable operators, Operators, Indirectly overloadable operators
overloading methods, Overloading methods
override keyword, C# Keywords

P

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
user-defining, User-Defined 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 Pointers, Pointers 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
positional parameter, Named and Positional Parameters
precedence, of operators, Operator Precedence
predefined types, Predefined Types, string type
bool, bool type
char, char type
decimal, decimal type
floating-point, Floating-point types
object, object type
string, string type
predinined attributes, Predefined Attributes
preprocessor directives, Preprocessor Directives
primary operators, precedence of, Operator Precedence
primitive types, Default Values
private access modifiers, Access Modifiers, C# Keywords
ProgId attribute, ProgId attribute
programming, Programming the .NET Framework, NoIDispatch attribute
assemblies for, Assemblies, Security Permissions
collections for, Collections, IHashCodeProvider interface
common types for, Common Types
custom attributes for, Custom Attributes, Retrieving a Custom Attribute at Runtime
input/output for, Input/Output, Directories and Files
Interop with Native DLLs for, Interop with Native DLLs, Out attribute
math, supporting language for, Math, Random Class
networking for, Networking, Using DNS
reflection for, Reflection, Creating New Types at Runtime
regular expressions for, Regular Expressions
strings for, Strings, StringBuilder Class
threads for, Threading, Pulse 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
reflection, Reflection, Creating New Types at Runtime
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, AppDomains
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 Expressions, Regular Expressions
relational operators, precedence of, Operator Precedence
ReleaseComObject method, exposing COM objects to C#, Exposing COM Objects to C#
XML tag, Predefined XML Tags
removeOn_XXX method, working with .NET runtime, Acting on an Event with Event Handlers
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
(CorDbg.exe), debugger, Essential .NET Tools
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 Classes, C# Keywords
security
of CLR, Common Language Runtime
for BCLs, 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
set keyword, C# Keywords
SetLastError parameter, for DllImport attribute, DllImport attribute
SetPosition( ) method, Abstract Stream class
shareable assemblies, Building Shareable Assemblies
shared name utility (Sn.exe), Essential .NET Tools
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
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 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, Strings, StringBuilder 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, Classes and Structs, Nested Types
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
methods and, Methods
nested types and, Nested Types
operators and, Operators, Indirectly overloadable operators
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 Synchronization, Atomic 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.EventArgs, storing data about events, Defining a Delegate for an Event
System.Exception class, catch
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.ObsoleteAttribute type, compiling custom attributes, Compiler Support for Custom Attributes
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-StaticAttribute, Threading
System.Threading.Monitor class, using an instance as a monitor, Monitor Class
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 Tags, Type or Member Cross References
user-defined, User-Defined Tags
target-enum, using AttributeUsage attribute, AttributeUsage attribute
targets (attributes), 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 BCL, 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, Threading, Pulse and PulseAll methods
common types, Common Thread Types
monitor class, Monitor Class
synchronizing, Thread Synchronization, Atomic operations
threadsBCL 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 Tools, Essential .NET Tools
for exploring BCLs, Base Class Library Overview
support for BCLs, Component 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 Statement, Key Properties of 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, Types, Boxing 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, Files, Global 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
namespace declaration, Namespaces
organizing, Organizing Types, Global namespace
pointer, Pointer types
predefined, Predefined Types, string 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 type, Boxing and unboxing value types
unchecked (arithmetic check off) operator, Operator Precedence, C# Keywords
underscore ( _ ) (identifiers), Identifiers
Unicode characters
representing char types, char type
representing string types, string type
unified type system, C# Language, Unified Type System, Boxing and unboxing value types
Uniform Resource Indicator (see URI)
Unix snarf utility, Generic Request/Response Architecture
unmanaged code, Pointers to Unmanaged Code
BCL (Base Class Libraries) and, Interoperating with Unmanaged Code
callbacks from, Callbacks from Unmanaged Code
UnmanagedType enum values, MarshalAs attribute
unsafe code, Unsafe Code and Pointers, Pointers 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
ushort type, Data Marshaling
using keyword, using keyword, C# Keywords

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

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
WebServiceUtil.exe (web service utility), Essential .NET Tools
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, Base Class Library Overview
WinDes.exe (windows designer), Essential .NET Tools
windows class viewer (WinCV.exe), as a .NET tool, Essential .NET Tools

X

XML documentation, XML Documentation, Type or Member Cross References
BCL (Base Class Libraries) and, XML
files, XML Documentation Files
predefined tags, Predefined XML Tags, Type 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
3.143.255.36