Thinking in LINQ
summary
Demonstrates concrete LINQ patterns: replacing nested loops with select many, using deferred execution to avoid immediate materialization, and flattening dictionaries in one line with LINQPad demos. Builds a T9-like subsequence suggester (returns top four suggestions), clones Peter Norvig’s spellchecker in C# (25-line Python original vs 59-line LINQ version), implements a lazy Fibonacci sequence (can take the first 40 instantly), exposes an Armstrong DSL that compiles English phrases into LINQ over 1–10,000, and uses Roslyn to find unused parameters for refactoring.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 14:05Subsequences
- 15:23Longest Subsequence
- 19:10Spellchecking
- 20:35List comprehension
- 24:10Training
- 26:40Fibonacci Series
- 31:05External DSL
- 35:20Console
- 36:10Query
- 37:40Code
- 40:05Map
- 43:20Some
- 44:20Generate
- 46:10Metaprogramming
- 48:20Syntax Tree
- 55:15Iris
related talks
43mBeyond LINQ: Using Expression Trees in .NET
01h 08mThinking Functionally with C#
01h 00mPattern-based C#: if it quacks like a duck…
01h 03mFunctional Programming with C#
01h 02mAbusing C# More
56mLowering in C#: What's really going on in your code?
52mPerformance features in C#
48mExpression trees in C#
