LINQ represents a paradigm shift for developers used to an imperative/object oriented programming style, because LINQ draws on functional programming principles. Thinking in LINQ addresses the differences between these two by providing a set of succinct recipes arranged in several groups, including:
- Basic and extended LINQ operators
- Text processing
- Loop refactoring
- Monitoring code health
- Reactive Extensions (Rx.NET)
- Building domain-specific languages
Using the familiar "recipes" approach, Thinking in LINQ shows you how to approach building LINQ-based solutions, how such solutions are different from what you already know, and why they’re better. The recipes cover a wide range of real-world problems, from using LINQ to replace existing loops, to writing your own Swype-like keyboard entry routines, to finding duplicate files on your hard drive. The goal of these recipes is to get you "thinking in LINQ," so you can use the techniques in your own code to write more efficient and concise data-intensive applications.