LINQ to Objects Using C# 4.0: Using and Extending LINQ to... and over 2 million other books are available for Amazon Kindle . Learn more
FREE Delivery in the UK.
Only 2 left in stock.
Dispatched from and sold by Amazon.
Gift-wrap available.
LINQ to Objects Using C# ... has been added to your Basket
+ £2.80 UK delivery
Used: Like New | Details
Condition: Used: Like New
Comment: 100% Money Back Guarantee. Brand New, Perfect Condition, FAST SHIPPING TO UK 2-9 business days, all other destinations please allow 4-14 business days for delivery. Over 1,000,000 customers served.
Trade in your item
Get a £10.84
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ) (Addison-Wesley Microsoft Technology) Paperback – 2 Mar 2010

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£19.65 £20.20
£30.99 FREE Delivery in the UK. Only 2 left in stock. Dispatched from and sold by Amazon. Gift-wrap available.

Special Offers and Product Promotions

  • When you trade in £15 or more you’ll receive an additional £5 Gift Card for the next time you spend £10 or more.

Trade In this Item for up to £10.84
Trade in LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ) (Addison-Wesley Microsoft Technology) for an Amazon Gift Card of up to £10.84, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 336 pages
  • Publisher: Addison Wesley; 1 edition (2 Mar. 2010)
  • Language: English
  • ISBN-10: 0321637003
  • ISBN-13: 978-0321637000
  • Product Dimensions: 17.3 x 2 x 22.9 cm
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: 887,319 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

From the Back Cover

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

About 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,, 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.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.8 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 4 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

2 of 2 people found the following review helpful By Douggy Fresh on 5 May 2011
Format: Paperback Verified Purchase
this is a thin book, focusing on the main use of LINQ in the industry that is linq to objects. Very few people use like to SQL (we have nHibernate for that). Where this book really scores is doing the one job really well. If you are a UI developer and you have a dataset of somekind back from your DAO and you want to remash it for the UI then get this book. It is VERY quick tp pick up what you need to do. There is no exotic BS in there fro the Linq-Gods, its just stuff you are going to use day in day out to make your life easier and deliver faster for those dumb-ass deadlines.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By M. Skinner on 7 Mar. 2011
Format: Paperback
As my english teacher at school would say, this book achieves the 4 C's - Clear, Concise, Complete & Correct. A really excellent book on the subject, clearly written with loads and loads of examples - in fact I can't remember seeing another book with so many. The topics were logically and clearly broken down into chapters, and each was presented in a manner that was easy to understand. This is a book I read from cover to cover, and have subsequently used several times. It has a 'cookbook' approach where you are presented with a LINQ operator and then shown at least one way (and often several) that it can be used. Since reading it I've had need of it a few times already, and due to the clear layout I can find the operator I need, refresh my memory, and then read around other similar operators to see if there is something else that would do the same thing (or do it more concisely).

All in all one for the bookshelves. Keep it handy, you'll need it, and when you need it you'll be glad you had a copy!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback Verified Purchase
This book is good as it explains lots about how to write more optimized LINQ queries and extension objects. Perhaps a little light on details about the core LINQ engine and its inner workings. All in all, a good book but not a great book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
By MCalcot on 20 Sept. 2012
Format: Paperback Verified Purchase
Although I have been using Linq for several years I found this book consolidated my knowledge, gave me new insight into ways I could use Linq and some useful new tricks I could employ. Excellent work.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 15 reviews
15 of 16 people found the following review helpful
Awsome Resource for .Net Deveopers 18 Mar. 2010
By Reza - Published on
Format: Paperback Verified Purchase
I found this book to be most useful of all the Linq books I have come across. It provides great practical examples of how to use Linq effectively on data objects and save hundreds of lines of code. At the same time, the author explains the performance implications so that you can make the right decision for your application. This book was a great find for me as I had a hard time last year when I tried to use Linq in some complex manipulation of objects involving joins.
The only disappointment for me was the fact that when I first I read the book online on Safari Books, the examples were in color and syntax highlighted. I decided to purchase the printed book to have it as a reference. The print edition is not in color and seems a step backwards.
I highly recommend this book to any developer that uses Linq. Not just for objects. It is well thought out and brilliantly written with real life examples.
10 of 11 people found the following review helpful
Explains basic and advanced concepts succinctly and really well, provides very useful performance tips 22 May 2010
By TSSmith - Published on
Format: Paperback
LINQ stands for Language INtegrated Query, a technology available to Microsoft DotNet developers since version 3 of the DotNet Framework. LINQ makes working with data such as collections of in-memory objects, rows from database tables, or elements in XML files simpler, providing a set of abstractions that enable developers to manipulate or reshape the source data into something else using more succinct and readable code than the usual deeply-nesting for loops.

This easy to read and very well thought out and written book will not only teach you how to write readable sequential and parallel LINQ queries against collections of in-memory objects, but it also shows you how to create your own custom sequential or parallel operators using the CSharp language. The book also provides illustrations of useful coding patterns, performance tips, and practical advice on what to consider when thinking about parallelizing code.

The book consists of nine chapters. Chapters 1 and 2 are introductory chapters that describe what LINQ is, its benefits, and the CSharp 3.0 language enhancements such as extension methods, object and collection initializers, implicitly typed local variables, lambda expressions and anonymous types that made LINQ possible.

Chapters 3 through 6 discuss various LINQ operators you can use when writing queries to select, partition, order, group, or join data, as well as to perform data aggregations such as computing sums and averages. Version 4 of the DotNet Framework provides 52 LINQ operators, and the book covers all of them. The chapter on Grouping and Joining Data is a particularly good one, discussing best practices and pitfalls to avoid when grouping and joining data sources not often discussed in other LINQ books.

Chapter 7 teaches you how to create custom LINQ to Objects operators, providing one code example each for the following operator categories:

* Single element operator: those that return a single element from a sequence (e.g., First, Last, ElementAt)

* Sequence operator: those that return a sequence of elements (e.g., Where, Select)

* Aggregate operator: those that return an aggregate return value (e.g., Sum, Average)

* Grouping operator: those that return groupings of elements from a sequence (e.g., GroupBy, GroupJoin)

Chapter 8 discusses then demonstrates the best way to use new CSharp 4.0 language features such as optional parameters, named arguments and dynamic types within the context of writing enhanced LINQ queries.

Chapter 9 covers Parallel LINQ, explaining the difference between multithreading and code parallelism, and what happens during a Parallel LINQ query. The latter discussion will help readers understand when and why a Parallel LINQ query may not always execute more quickly than its sequential version, and what parts of the execution process developers have and do not have control over. The chapter ends with a code example of how to "parallelize" a sequential LINQ operator.

I found the book to be very informative. It explains basic and more advanced concepts succinctly and really well, and addresses some of my performance concerns with using LINQ (for example, I didn't realize until reading this book that many LINQ operators will take advantage of optimizations built into certain collection types). So overall, I'm very happy with this book!
4 of 4 people found the following review helpful
Good writing, Kindle edition is the worst excuse for an eBook I've seen yet 1 Mar. 2013
By Steven - Published on
Format: Kindle Edition Verified Purchase
If you are looking to learn just about all the LINQ syntax you'll ever likely need, then this is the book for you. Troy writes in a very clean and approachable style, making it easy to learn the material. I really like how the author doesn't beat around the bush, he gets straight to the point, which is why this book weighs in at a slim 330-ish pages. I really grow tired of reading 900+ page tomes all the time, so this was certainly a welcome break. As far as the raw material is concerned, this is a 5 star book, but there's one glaring flaw if you go the eBook route:

The Kindle version is a complete mess. I know people find it annoying when reviewers drop the rating because of the format, but when you pay good money for a product, you expect professional results. The biggest issue is that all of the code samples look as if they were scanned images that were then OCR'd in. Many of the code samples look incredibly washed out, blurry and are almost impossible to read. Also, there are a few errors that occurred due to this scanning process, such as the wrong braces being displayed, some symbols are changed (what would be a less-than sign might show in the code sample as an equals sign for instance). It's really too bad. Do NOT buy this on Kindle, it is junk.

If the publishers fix this problem I'll happily bring my review up to 5 stars, but until then it remains at 2. I suffered way too many headaches trying to decipher this mess.
6 of 7 people found the following review helpful
Exceptional Book In Content and Style 9 Jun. 2010
By Mark Phillips - Published on
Format: Paperback
All of LINQ is covered from .NET 3.0 - .NET 4.0. It is written by someone who clearly is a master of LINQ and knows how to communicated his mastery. Detailed explanations and examples are provided for all LINQ operators, helping the developer to know when and where to use each. I have purchased a few LINQ books. To me, this was the clearest and most consise. This book is the new classic book for LINQ.
2 of 2 people found the following review helpful
Solid and pragmatic with theory, but beware beginner! 29 Jun. 2012
By JonShops - Published on
Format: Paperback Verified Purchase
Linq to Objects is one of those books that is an absolute joy for a person with the requisite background, but could only be a nightmare to a beginner in the field.

For the student: Does the following make sense to you? "The zero-based index position can be passed into a lambda expression predicate by assigning a variable name as the second argument..." The author will build to such statements, but if this is completely Greek to you, I'd concentrate on more general C# studies first.

For the pro: Magennis won't make you work very hard, so the book will fly by quickly, but in the end he'll reward you with a lot more depth than you would first imagine. This is not just a surface review of LINQ, but a great introduction that goes into the C# compliler far enough to make the C# programmer feel grounded in not just the use of LINQ, but also in the technology as a study unto itself.

Magennis is a (if not the) LINQ fan, and his love for the technology will rub off, but he never tries to convince you that it replaces database querying. In fact, by sticking to LINQ for Objects in particular, really the book is more about dictionary/collection/list/array manipulation than datasources, although both text file munching and COM interop with Excel as datasources are handled (and I think it's assumed that once you realize you cannot in general use a datareader for LINQ, you can marshal your data into memory by whatever other means you've been using, with some short comment on how to partition data reads for large data sources).

Another strong trait of the text is how Magennis aptly compares C# 2.0 ways of doing things with C# 4.0, not for historical reasons, but because those comparisons really demonstrate what the newer technology must be doing behind the scenes. This is not an obvious set of "least pairs discrimation" so I appluad Magennis on the great didactic results it provides.

I do wish that Magennis had added a final chapter exploring expression trees with the same skill he applied to PLINQ, even if that would have been moving a little off theme; it just seems like even though this text isn't about transforming LINQ queries for use in non-memory sources, nonetheless somehow the expression tree belongs to the story...or maybe I'd just like to pick such an expert's mind on the topic in any case.

The pro will not be burdened or disappointed. Good fun.
Were these reviews helpful? Let us know