LINQ to objects using C# 4.0 : using and extending LINQ to objects and parallel LINQ (PLINQ)

著者

    • Magennis, Troy

書誌事項

LINQ to objects using C# 4.0 : using and extending LINQ to objects and parallel LINQ (PLINQ)

Troy Magennis

(The Addison-Wesley Microsoft technology series)

Addison-Wesley, 2010

大学図書館所蔵 件 / 1

この図書・雑誌をさがす

注記

Includes bibliographical references and index

内容説明・目次

内容説明

"For several years, Troy has been one of the key figures in the LINQ community. This comprehensive and well-written book serves as a compendium of the important wisdom and experience that he has accumulated through his years of studying LINQ and its uses." -Charlie Calvert, Microsoft C# Community Program Manager "LINQ is changing the way we think about working with data and, in many ways, also about programming in general. LINQ to Objects Using C# 4.0 is a thorough reference that teaches how to simplify many day-to-day tasks with data. It also gives you the foundations that are necessary to understand a wide range of fascinating applications of LINQ that will, no doubt, continue to appear over the next few years." -Tomas Petricek, Microsoft MVP and author of Real-World Functional Programming Your Complete Example-Rich Guide to Using and Extending LINQ to Objects and PLINQ Using LINQ to Objects, .NET developers can write queries over object collections with the same deep functionality that was once available only with SQL and relational databases. Now, for the first time, developers have a comprehensive and authoritative guide to applying LINQ to Objects in real-world software. Microsoft MVP Troy Magennis introduces state-of-the-art techniques for working with in-memory collections more elegantly and efficiently-and writing code that is exceptionally powerful, robust, and flexible. Drawing on his unsurpassed experience coding software using LINQ and hosting the popular HookedOnLINQ.com site, Magennis presents timely, realistic solutions to a wide spectrum of development challenges, such as combining data from multiple sources, and achieving optimal performance with extremely large sets of data. You'll begin with brief quick-starts that walk you through LINQ to Objects' key features and query syntax. Next, you'll drill down to detailed techniques for applying and extending these features with C# 4.0 and C# 3.0-including code examples that reflect the realities of production development. Coverage includes * Writing basic LINQ queries with C#: filtering, projecting, and sorting data from in-memory collections * Mastering advanced techniques for grouping and joining data and understanding the performance implications of each technique * Taking full advantage of LINQ's standard query operators * Creating custom query operators that follow best practices for coding patterns and error handling * Writing more fluent, readable LINQ queries with C# 4.0's language enhancements, including the new dynamic features * Combining LINQ with COM-Interop to access data sources such as Microsoft Excel * Using Parallel LINQ to Objects (PLINQ) to optimize queries for multi-core processors, and how to build custom parallel query operators * Integrating the best LINQ to Objects patterns into your day-to-day coding

目次

Foreword . . . x Preface . . . xii Acknowledgments . . . xix About the Author . . . xx Chapter 1: Introducing LINQ . . . 1 What Is LINQ? . . . 1 The (Almost) Current LINQ Story . . . 3 LINQ Code Makeover-Before and After Code Examples . . . 5 Benefits of LINQ . . . 12 Summary . . . 15 References . . . 15 Chapter 2: Introducing LINQ to Objects . . . 17 LINQ Enabling C# 3.0 Language Enhancements . . . 17 LINQ to Objects Five-Minute Overview . . . 30 Summary . . . 39 References . . . 39 Chapter 3: Writing Basic Queries . . . 41 Query Syntax Style Options . . . 41 How to Filter the Results (Where Clause) . . . 49 How to Change the Return Type (Select Projection) . . . 54 How to Return Elements When the Result Is a Sequence (Select Many) . . . 59 How to Get the Index Position of the Results . . . 61 How to Remove Duplicate Results . . . 62 How to Sort the Results . . . 63 Summary . . . 73 Chapter 4: Grouping and Joining Data . . . 75 How to Group Elements . . . 75 How to Join with Data in Another Sequence . . . 93 Summary . . . 119 Chapter 5: Standard Query Operators . . . 121 The Built-In Operators . . . 121 Aggregation Operators-Working with Numbers . . . 123 Conversion Operators-Changing Types . . . 131 Element Operators . . . 144 Equality Operator-SequenceEqual . . . 153 Generation Operators-Generating Sequences of Data . . . 155 Merging Operators . . . 159 Partitioning Operators-Skipping and Taking Elements . . . 160 Quantifier Operators-All, Any, and Contains . . . 164 Summary . . . 171 Chapter 6: Working with Set Data . . . 173 Introduction . . . 173 The LINQ Set Operators . . . 174 The HashSet Class . . . 185 Summary . . . 192 Chapter 7: Extending LINQ to Objects . . . 195 Writing a New Query Operator . . . 195 Writing a Single Element Operator . . . 196 Writing a Sequence Operator . . . 208 Writing an Aggregate Operator . . . 216 Writing a Grouping Operator . . . 222 Summary . . . 232 Chapter 8: C# 4.0 Features . . . 233 Evolution of C# . . . 233 Optional Parameters and Named Arguments . . . 234 Dynamic Typing . . . 243 COM-Interop and LINQ . . . 251 Summary . . . 260 References . . . 260 Chapter 9: Parallel LINQ to Objects . . . 261 Parallel Programming Drivers . . . 261 Multi-Threading Versus Code Parallelism . . . 264 Parallelism Expectations, Hindrances, and Blockers . . . 267 LINQ Data Parallelism . . . 271 Writing Parallel LINQ Operators . . . 289 Summary . . . 301 References . . . 301 Glossary . . . 303 Index . . . 307

「Nielsen BookData」 より

関連文献: 1件中  1-1を表示

詳細情報

ページトップへ