unary operators
list of, 21
overview, 21
unboxing, 278
unhandled exceptions
AppDomain.UnhandledException, 349–350
Application.ThreadException, 348–349
Exception Assistant, 351
overview, 347–348
trapping, 347
UnhandledExceptionEventHandler, 350
Unicode characters, 18
unmanaged callbacks, 621–622
unmanaged resources
boxing, 559
garbage collection overview, 555–559
generations, 555
handles, 596–597
managing, 595–597
memory pressure, 596
overview, 554–555
UnmanagedType enumeration, 623
unsafe code
appropriate uses, 601
blittable types, 611, 618
CharSet, 617
directional attributes, 620
DllImport, 612–616
explicit marshaling, 622–624
fixed-size buffers, 624–625
fixed statement, 609–610
formatted types, 618–620
Interop marshaler, 611
LayoutKind enumeration, 618
MarshalAs attribute, 624
nonblittable types, 611–612, 618
overview, 598–599, 601–603, 625
Platform invocation services. See Platform invocation services (PInvoke)
pointer parameters and return, 608–611
pointers, 604–607
Runtime Callable Wrapper (RCW), 602
stackalloc command, 610–611
StringBuilder class, 620–621
summary, 625
unmanaged callbacks, 621–622
void pointers, 605
unsafe keyword, 603
untrusted code. See unsafe code
URLs. See Web sites
user-defined types
operator overloading, 627
reference type constraints, 254
Userstring heap, 358