LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ) (Addison-Wesley Microsoft Technology Series)

Overview

“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 ...

See more details below
Paperback
$37.74
BN.com price
(Save 24%)$49.99 List Price
Other sellers (Paperback)
  • All (12) from $12.78   
  • New (8) from $26.99   
  • Used (4) from $12.78   
LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ)

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
$22.99
BN.com price
(Save 42%)$39.99 List Price

Overview

“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

Read More Show Less

Product Details

Meet the Author

Troy Magennis is a Microsoft C# MVP and a keen traveler who currently works for Travelocity, which manages the travel and leisure websites travelocity.com, lastminute.com, and zuji. As Vice President of Architecture, he leads a talented team of architects spread across four continents, committed to being the traveler’s champion. Technology has always been a passion. After cutting his teeth on early 8-bit personal computers, Troy moved into electronic engineering (assembly language coding), which later led to positions in software application development and architecture for some of the most prominent corporations in automotive, banking, and online commerce. Troy’s first exposure to LINQ was in 2006 when he took a sabbatical to learn it and became hooked, ultimately leading him to publish the popular HookedOnLINQ website.

Read More Show Less

Table of Contents

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

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)