\c escape, in regular expressions, 469
C# language
anonymous delegates, 63–64
anonymous methods, 527–529
attribute targets, qualifiers for, 518
books about, 79, 213
constructor chaining, 40–41
default constructors, 39–40
escape character for backslashes, 188
field initialization in constructors, 41–42
is and as keywords, 98
iterators, 234–236
lock blocks, 371
managed code written in, 5
mixed mode accessibility for properties, 45
null type, 24
operators, list of, 48–49
output parameters, 34
primitive types, list of, 172
properties, 43
support for, 16
type safety and, 10
typing strategy of, 13, 14, 15
C++ language
books about, 79–80, 254
interoperability and, 404
primitive types, list of, 172
support for, 16
templates, collections and, 72, 79, 227
type mappings, 434
type safety and, 11
typing strategy of, 13
C++/CLI language
conditional compilation for, 451
generics support, 71
interoperability and, 431
managed code written in, 5
operators, list of, 48–49
type safety and, 10
caching bindings, 513–514
calendars, regional, 308
call instruction, IL, 85, 93, 127–128, 562
calli instruction, IL, 93, 94, 129, 562
callvirt instruction, IL, 93, 128, 563
Capture class, 489–490
caret (^), in regular expressions, 475
CAS (code access security)
applying at runtime, 341–346
asserts, 344–346
code group, 331, 334–335
declarative code, 342–343
definition of, 329–330
demands, 343–344
denies, 344–346
evidence, 330, 334–335
imperative code, 342–343
levels of trust, 332–335
permission sets, 332, 340–341
permissions, 331, 335–340, 341
permits, 346
policy, 332, 341
protected operations, 333–334
security context, preserving, 346
security transparency, 346
CAs (custom attributes), 64–65, 496, 514–519
case conversions, strings, 188, 323–325
CasPol.exe utility, 341
castclass instruction, IL, 97, 563
catch blocks. See try/catch blocks
.cctor, constructor name, IL, 42
CDO (Collaboration Data Objects), 298
ceq instruction, IL, 91, 551
CERs (Constrained Execution Regions)
aggressive hosts, reliable cleanup for, 418
critical finalization and, 418–419
definition of, 417–418
guaranteed cleanup of critical regions, 419–420
inline critical regions, 419
reliability contracts, 420–421
cgt instruction, IL, 91, 551
chaining of constructors, 40–41
change notifications, 276–278
ChangeType method, 201
char type, IL, 17, 172
character classes, in regular expressions, 470–473
CIL (Common Intermediate Language). See IL (Intermediate Language)
ckfinite instruction, IL, 551
class constraint, 77
class constructors, 42
.class directive, IL, 83
class keyword, C#, 19
classes (character classes), in regular expressions, 470–473
classes (reference types). See reference types
Clear method
Console class, 281
dictionaries, 240
CLI (Common Language Infrastructure) specification
books about, 167, 213
definition of, 9
client-side HTTP, 294–295
client-side sockets, 290
Clipboard, permission to access, 338
Clone method, arrays, 221–222
Close method
sockets, 284, 287
Stream class, 260
closed (constructed) type of generics, 75
CLR (Common Language Runtime)
books about, 78, 166, 213
definition of, 5, 81–82
languages supported by, 16
loading in an assembly, 154–155
version 2.0 improvements, 7
clt instruction, IL, 91, 551–552
code access security. See CAS
code group, CAS, 331, 334–335
coercion, 49
Collaboration Data Objects (CDO), 298
Collect method, GC class, 203
CollectionCount method, GC class, 203
collections. See also generic collections
definition of, 225–226
generics and, 72–74
interoperability with arrays, 221
weakly typed collections, 246–247
COM (Component Object Model)
apartments, 390–391, 402
backward interoperability, 423–428
books about, 401, 436
DCOM (Distributed COM), 422–423
forward interoperability, 428–430
history of, 4
interoperability with, 421–430
visibility of, 430
COM+, 423
commenting regular expressions, 474
Common Intermediate Language (CIL). See IL (Intermediate Language)
Common Language Infrastructure (CLI) specification
books about, 167, 213
definition of, 9
Common Language Runtime. See CLR
Common Type System. See CTS
compaction, 122
Compare method, strings, 188, 323
CompareTo method, strings, 188, 323
Comparison<T> delegate, 251–252, 253
comparisons
custom comparers, 250–251
definition of, 248
delegate-based comparisons, 251–252, 253
encapsulated comparisons, 248–250
IL operations for, 91
strings, 187–188
compilation. See also NGen technology
books about, 532
conditional compilation, 450–451
dynamic programming and, 495–496
JIT (just-in-time) compilation
definition of, 5, 124–126
method calls and, 126–131
64-bit support for, 131
output of (metadata and IL), 82–83
CompilationRelaxationsAttribute attribute, C#, 138
compiled regular expressions, 490–493
Component Object Model. See COM
compressed streams, 278–279
Concat method, strings, 185
concatenating strings, 185
conceptual rank of an array, 219
concrete classes, 51
concurrency. See also threads
optimistic concurrency, 535
pessimistic concurrency, 535
problems with
deadlocks, 381–382
race condition, 355, 369
starvation, 382
concurrent collector, 122, 123
conditional compilation, 450–451
conditionals in regular expressions, 475
Connect method, sockets, 283, 290
consistency of transactions, 535
Console class, 280–281
const keyword, C#, 28
constant (literal) fields, 28
constants, IL, 88–89
constrained calls, 95–96
Constrained Execution Regions. See CERs
constrained. prefix, IL, 574
constraints, 77–78
constructed (closed) type of generics, 75
ConstructorInfo class, 505
constructors
chaining, 40–41
default constructors, 39–40
definition of, 38–39
field initialization in, 41–42
type constructors, 42
unhandled exceptions in, 42–43
Contains method, strings, 192
contravariant delegates, 62–63, 525–526
conv instruction, IL, 552–555
conversions
of array elements, 224
case conversions, strings, 188, 323–325
between data types, 201
delegates for, 238–239, 253–254
from objects to strings, 179
Convert class, 201
ConvertAll method, arrays, 224
Converter<TInput, TOutput> delegate, 238–239, 253–254
Copy method
arrays, 222–223
files, 275
CopyTo method, arrays, 222–223
CorHdr.h file, 136
country codes, 309
covariant delegates, 62–63, 525–526
cpblk instruction, IL, 555
cpobj instruction, IL, 563
Create method, files, 273
CreateInstance method, arrays, 223–224
critical finalization, 124, 418–419
critical regions, 388, 419–420
critical sections, 368–369, 387–388
cryptographically sound random numbers, 208
.ctor, constructor name, IL, 38
CTS (Common Type System). See also reference types (classes); type safety; value types (structures)
base type of, 16
definition of, 9–10
languages supported by, 10–11
primitive types, 17–18
type hierarchy for, 16–18
verification of type safety using, 9
culture codes, 309
CultureInfo class, 302, 309–311
cultures. See also internationalization
changing, 313
default, 313
definition of, 302, 309
enumerating through, 311
formatting performed by, 312, 314–315
hierarchy of, 303–304
invariant culture, 303, 313–314
managing, 311–313
neutral cultures, 303, 310
representing, 309–310
specific cultures, 303, 310
specifying, 310–311
string manipulation and, 321–325
system-wide culture, 313
UI culture, 312–313
curly braces ({}), in regular expressions, 465
currency
matching with regular expressions, 466–467
regional variations of, 308–309
custom assembly binding, 149–150
custom attributes (CAs), 64–65, 496, 514–519
custom character classes, in regular expression, 465, 471
custom collections, 241–242
custom comparers, 250–251
custom exceptions, 212