13.07.2015 Views

C# in Depth

C# in Depth

C# in Depth

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INDEX 373<strong>C#</strong> (cont<strong>in</strong>ued)<strong>in</strong>fluences 18language dist<strong>in</strong>ction 25language specification 117version numbers 26<strong>C#</strong> 1comparison of delegate usage with <strong>C#</strong> 3 233delegate creation expressions 138event handler plumb<strong>in</strong>g 138iterator implementation 162patterns for null values 114revision of key topics 32–54<strong>C#</strong> 2delegate improvements 137–160fixed size buffers 199generics 63–111iterators 161–182namespace aliases 193nullable types 112–136partial types 184pragma directives 197separate property access modifiers 192static classes 190support for nullable types 120term<strong>in</strong>ology for nullable types 117, 120<strong>C#</strong> 3anonymous types 224automatically implemented properties 208–210collection <strong>in</strong>itializers 218–221expression trees 238–245extension methods 255–274implicitly typed arrays 223implicitly typed local variables 210, 215lambda expressions 230object <strong>in</strong>itializers 215–218overload<strong>in</strong>g 251–253partial methods 188query expressions 275–313two-phase type <strong>in</strong>ference 248type <strong>in</strong>ference 245–253<strong>C#</strong> 4 106, 358<strong>C#</strong> team 48C++ 20, 24, 83, 102, 108, 201C++/CLI 24C++0x 108cach<strong>in</strong>g of delegate <strong>in</strong>stances 237caller, parameter pass<strong>in</strong>g 52captured variables 150–159, 285extended lifetime 154<strong>in</strong>stantiations 155Cartesian product 304cascad<strong>in</strong>g <strong>in</strong>sertion 319cast 45Cast. See Standard Query Operators, Castcast<strong>in</strong>ganonymous methods 150as a necessary evil 9, 64migrat<strong>in</strong>g to generics 74necessity removed by generics 67, 178range variables 290reference identity 51type <strong>in</strong>ference 80, 223, 247unsafe abuse <strong>in</strong> C 44untyped datasets 334–335Catchphrase 271CCR. See Concurrency and Coord<strong>in</strong>ation Runtime(CCR)cha<strong>in</strong><strong>in</strong>gextension methods 265–266, 354iterators 265change track<strong>in</strong>g 318, 348characters 278checksum pragmas 198clarity 272clashes of names 194class declaration, absence of <strong>in</strong> snippets 28class libraries 255class. See reference typesclasses as generic types 67classification of variables 151CLI. See Common Language Infrastructure (CLI)Click 139, 142, 149Clone 46, 98clon<strong>in</strong>g 226closed types 69, 86closures 145, 151, 160CLR. See Common Language Runtime (CLR)codeas data 238bloat 108generation 115generators 184, 186, 188shape 222smells 136CodeDOM 239, 241, 244cod<strong>in</strong>gconventions 209standards 182style, harmony with language 4collection <strong>in</strong>itializers 8, 218–221, 235, 286, 355CollectionBase 46collections 56generic 66generic collections <strong>in</strong> .NET 2.0 96remov<strong>in</strong>g multiple elements 98specialized 46strongly typed vs weakly typed 45Licensed to Rhona Hadida

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!