\r escape, in regular expressions, 468
race condition, 355, 369
random number generation, 207–208
rank (number of dimensions) of an array, 216, 219
Read method, Stream class, 257–258
ReadByte method, Stream class, 257
readers, 255–256
reader-writer locks, 374–378
ReaderWriterLock class, 374–378
ReadLine method, strings, 266
read-only collections, 243
read-only fields, 27–28
readonly keyword, C#, 27
readonly. prefix, IL, 574
ReadOnlyCollection<T> class, 243
ReadT methods, binary data, 269–270
ReadToEnd method, strings, 266
Receive method, sockets, 284, 287
rectangular arrays, 217–218
recursion, tail calls for, 94–95
ref keyword, C#, 33, 35
refanytype instruction, IL, 559
refanyval instruction, IL, 559
reference types (classes). See also objects
abstract classes, 51–52, 56–57
allocating and initializing, 92–93
compared to value types, 18
concrete classes, 51
creating, 19
definition of, 16, 18–19
weak references, 204–205
when to use, 18–19
ReferenceEquals method, Object type, 176
reflection
activation, 496
anonymous methods, 527–529
APIs for, list of, 496–497
binding, 497
books about, 532
caching bindings, 513–514
custom attributes (CAs), 496, 514–519
definition of, 14, 495–496
delegates, 496
handles, 496, 511–514
info APIs, 496
permission for, 337
tokens, 496, 511–514
reflection-emit assemblies, 160, 529–532
reflection-only assembly, 499
ReflectionPermission class, 337
regional formatting, 307–309
register-based machines, 85–86
registry, permission to access, 337
RegistryPermission class, 337
regular expressions. See also meta-characters, in regular expressions
alternations, 474–475
backreferencing in, 478
books about, 493
Capture class, 489–490
character classes in, 470–473
commenting, 474
compiled expressions, 490–493
conditionals in, 475
custom character classes in, 465
definition of, 463
examples of, 465–467, 480–481
expression syntax, 464
greediness and, 479–481
Group class, 489–490
grouping, 477–479
literals in, 464, 468–469
Match class, 488–489
positional matching, 464, 475–477
quantifiers in, 464, 470, 481
Regex class, 482–488
wildcards in, 464
Relative Virtual Address (RVA) statics, 19
reliability contracts, 420–421
reliability, version 2.0 improvements for, 7
rem instruction, IL, 91, 560
Remove method
StringBuilder class, 202
strings, 189
RemoveMemoryPressure method, GC class, 203–204
rendezvousing, 386
Replace method
Regex class, 485–487, 488
StringBuilder class, 202
strings, 189
ResGen.exe tool, 315–317
resource management
garbage collection and, 416–417
interoperability and, 410–416
resource manager (RM), 533–534, 546
Resource Manifests, assembly metadata, 136
.resources files, 315–316
resources for cultural preferences
accessing, 318–319
binary resources, 316–317
books about, 325
creating, 315–317
definition of, 302, 315
packaging and deploying, 317–318
strongly typed resources, 318–319
text resources, 315–316
using, 307
weakly typed resources, 319
resources in assembly, 143–144
resources (information). See publications
resurrection, 124
.resx files, 316–317
ret instruction, IL, 560
rethrow instruction, IL, 105, 567
return parameter of method, 30
Reverse method
arrays, 225
lists, 237
reversing arrays, 225
reversing lists, 237
RFC 2279, 320
RM (resource manager), 533–534, 546
Running state, Thread object, 358, 361
runtime constraints, 77–78
runtime type checking, 58
RuntimeWrappedException exception, 210
RVA (Relative Virtual Address) statics, 19