In programming, there's no substitute for knowing your stuff. In versions 2 and 3, C# introduces new concepts such as lambda expressions and implicit typing that make the language more flexible and give you more power. Using Language INtegrated Query (LINQ)—also new in C# 3—you can interact with data of any type directly from C#. Simply put, mastering these features will make you a more valuable C# developer.
C# in Depth is designed to bring you to a new level of programming skill. It dives deeply into key C# topics—in particular the new ones. You'll learn to reuse algorithms in a type-safe way with C# 2 generics and expand the functionality of existing classes and interfaces using C# 3 extension methods. Tricky issues become clear in author Jon Skeet's crisp, easy-to-follow explanations and snappy, pragmatic examples. With this book under your belt, you will easily learn—and then master—new frameworks and platforms.
WHAT'S INSIDE:
* How and where (and why) to use the new language features
* Backgrounder on C# 1
* Cutting-edge best practices
* Become comfortable and proficient with C# 2 and 3

contents
foreword xvii
preface xix
acknowledgments xxi
about this book xxiii
about the cover illustration xxviii
comments from the tech review xxix
Part 1 Preparing for the journey
1 The changing face of C# development
1.1 Evolution in action: examples of code change
1.2 A brief history of C# (and related technologies)
1.3 The .NET platform
1.4 Fully functional code in snippet form
1.5 Summary
2 Core foundations: building on C# 1
2.1 Delegates
2.2 Type system characteristics
2.3 Value types and reference types
2.4 C# 2 and 3: new features on a solid base
2.5 Summary
Part 2 C# 2: solving the issues of C# 1
3 Parameterized typing with generics
3.1 Why generics are necessary
3.2 Simple generics for everyday use
3.3 Beyond the basics
3.4 Advanced generics
3.5 Generic collection classes in .NET 2.0
3.6 Limitations of generics in C# and other languages
3.7 Summary
4 Saying nothing with nullable types
4.1 What do you do when you just donât have a value?
4.2 System.Nullable and System.Nullable
4.3 C# 2âs syntactic sugar for nullable types
4.4 Novel uses of nullable types
5 Fast-tracked delegates
5.1 Saying goodbye to awkward delegate syntax
5.2 Method group conversions
5.3 Covariance and contravariance
5/4 Inline delegate actions with anonymous methods
5.5 Capturing variables in anonymous methods
5.6 Summary
6 Implementing iterators the easy way
6.1 C# 1: the pain of handwritten iterators
6.2 C# 2: simple iterators with yield statements
6.3 Real-life example: iterating over ranges
6.4 Pseudo-synchronous code with the Concurrency and Coordination Runtime
6.5 Summary
7 Concluding C# 2: the final features
7.1 Partial types
7.2 Static classes
7.3 Separate getter/setter property access
7.4 Namespace aliases
7.5 Pragma directives
7.6 Fixed-size buffers in unsafe code
7.7 Exposing internal members to selected assemblies
7.8 Summary
Part 3 C# 3ârevolutionizing how we code
8 Cutting fluff with a smart compiler
8.1 Automatically implemented properties
8.2 Implicit typing of local variables
8.3 Simplified initialization
8.4 Implicitly typed arrays
8.5 Anonymous types
8.6 Summary
9 Lambda expressions and expression trees
9/1 Lambda expressions as delegates
9.2 Simple examples using List and events
9.3 Expression trees
9.4 Changes to type inference and overload resolution
9.5 Summary
10 Extension methods
10.1 Life before extension methods
10.2 Extension method syntax
10.3 Extension methods in .NET 3.5
10.4 Usage ideas and guidelines
10.5 Summary
11 Query expressions and LINQ to Objects
11.1 Introducing LINQ
11/2 Simple beginnings: selecting elements
11.3 Filtering and ordering a sequence
11.4 Let clauses and transparent identifiers
11.5 Joins
11.6 Groupings and continuations
11.7 Summary
12 LINQ beyond collections
12.1 LINQ to SQL
12.2 Translations using IQueryable and IQueryProvider
12.3 LINQ to DataSet
12.4 LINQ to XML
12.5 LINQ beyond .NET 3.5
12.6 Summary
13 Elegant code in the new era
13.1 The changing nature of language preferences
13.2 Delegation as the new inheritance
13.3 Readability of results over implementation
13.4 Life in a parallel universe
13.5 Farewell
appendix: LINQ standard query operators
index
Aff : torrents.to torrentz.com mininova.org thepiratebay.org arenabg.com zamunda.net isohunt.com torrentreactor.net torrentvalley.com
Powered by debian 4 , lighttpd 1.4 , php 5 , mysql 5 , btitracker 1.3 and hamsters 1.0
By using this site you agree to and accept our user agreement. If you havent read the user agreement please do so here