GAC. See global assembly cache
gacutil (Global Assembly Cache Utility), 441, 446, 449
garbage collection
closing forms and, 782
destructors and, 199
efficiency of, 193–194
fixed keyword for pointers and, 213–214
forcing, 199
managed heap and, 13, 198–199
not deterministic, 14
overview, 198–199
strong data typing in IL and, 13–14
System.GC class for, 199
GDI (graphical device interface), 842. See also GDI+
GDI+. See also graphics
color representation in, 863
described, 841
device contexts (DCs), 843–844
displaying images using, 870–873
GDI versus, 842
Graphics class and, 844
huge number of features provided by, 842
namespaces for, 843
responding to user input, 890–893
Generate() method (ResourceWriter class), 528
GenericCustomer class, 119–124
generics
ArraySegment<T> struct, 303–304
binary code reuse by, 273–274
C++ templates compared to, 272
code bloat and, 274
collection classes and their functionality, 276–277
creating custom generic classes, 293–296
delegates, 299–301
displaying collections with DataGridView control, 811–813
EventHandler<TEventArgs> delegate, 302–303
interfaces and their functionality, 275–276
introduction of, 269, 271
LinkedList<T> class, 287–292
List<T> class, 272–273, 278–283
methods, 297–299
namespace for, 270
naming guidelines, 274
.NET base classes for, 277–278
Nullable<T> struct, 301–302
performance advantages of, 272–273
Queue<T> class, 283–286
strong typing provided by, 269
type safety of, 273
get accessor of properties, 93, 94
GetAssemblyFullName() method, 452
GetAttribute() method (XmlReader class), 668
GetChannel() method (ChannelServices class), 1026
GetCustomAttributes() method (Assembly class), 320, 323
GetDocument() method (DocumentManager class), 284, 294
GetEnumerator() method (IEnumerable interface), 246–247
GetFreeDate() method, 929–930, 933
GetHashCode() method, 107, 263–264
GetKeyList() method (SortedList class), 258
GetMembers() method, 319
GetMethods() method (Type class), 323
GetObject() method (Activator class), 1027, 1028, 1029, 1030
GetRandomQuoteOfTheDay() method (QuoteServer class library), 1277
GetRange() method (ArrayList class), 253
GetRowType() method (CustomerTable class), 836
GetType() method (Type class), 107, 108, 314
GetTypes() method (Assembly class), 319–320, 322
GetValue() method (RegistryKey class), 1231
GetValueList() method (SortedList class), 258
global assembly cache
adding publisher policy assembly to, 457
Assembly Cache Viewer for, 439–440
ClickOnce limitations and, 567
COM registration using, 1178
defined, 19, 413, 438
gacutil (Global Assembly Cache Utility), 441, 446, 449
Ngen.exe native image generator, 438–439
Global Assembly Cache Utility (gacutil), 441, 446, 449
globalization. See also localization
creating custom cultures, 549–550
CultureInfo class for, 515
CurrentCulture and CurrentUICulture properties for, 516–517, 518, 519
date formatting, 519–520
defined, 513
localization versus, 513
namespace for, 513, 514
number formatting, 517–519
RegionInfo class for, 515
sorting and, 524–526
specific, neutral, and invariant cultures and, 515–516
Unicode issues, 514–515
Windows Forms culture demo application, 520–524
globally unique identifier (GUID) in Active Directory, 728
goto statement, 50, 55
graphical device interface (GDI), 842. See also GDI+
graphics. See also CapsEditorexample ; GDI+
clipping region and, 848–850
colors, 863–866
debugging and, 855–856
device coordinates for, 863
display modes, colors and, 865
displaying images, 870–873
drawing scrollable windows, 856–862
drawing shapes and lines, 868–870
drawing shapes, application for, 844–847
drawing text, 874–880
editing a text document, 880–893
enumerating font families, 878–880
fonts and font families, 876–880
hidden window parts and, 846–847
issues when manipulating images, 873–874
measuring coordinates and areas, 850–855
page coordinates for, 863
painting shapes, 847–848
pens and brushes for, 866–868
printing, 893–899
simple text example, 874–876
world coordinates for, 863
Graphics class
DrawImage() method, 874
DrawImageUnscaled() method, 873
DrawString() method, 874, 875–876
GDI+ and, 844
MeasureString() method, 874, 893
methods, 868–869
GregorianCalendar class, 522–523
grouping characters with regular expressions, 240–243
groups of objects. See also generics; specific functionalities
array lists, 250–253
collections, 246–250
dictionaries, 259–269
.NET functionality supporting, 245–246
queues, 256–257
SortedList collections, 257–259
stacks, 253–256
GUID (globally unique identifier) in Active Directory, 728