Skip to content
Search lessons, topics, tests…
Esc

    ↑ ↓ moveEnter openEsc close

    Module 1 · LINQ Fundamentals · Lesson 1 of 32

    Introduction: from first principles to modern .NET

    From First Principles to Expression Trees, Performance, and Modern .NET

    A practical, interview-grade reference. Every concept is paired with code, time complexity, gotchas, and the why. Code targets C# 13 / .NET 9–10 but the fundamentals apply from .NET Core 3.1 onward.

    How to read this guide

    The guide is built in layers.

    Part 1 is the mental model — read it even if you "already know LINQ," because most LINQ bugs trace back to two ideas: deferred execution and the IEnumerable vs IQueryable split.

    Parts 2–3 are the working reference (operators + performance).

    Parts 4–5 go deep (expression trees, dynamic queries, custom operators, PLINQ, async).

    Part 6 is a focused tour of what each recent .NET version added.

    Parts 7–8 are the do/don't list and a one-page cheat sheet.

    Part 1 — Foundations

    1.1 What LINQ actually is
    1.2 The two syntaxes: query vs method
    1.3 They are extension methods — here's how that works
    1.4 The two worlds: IEnumerable<T> vs IQueryable<T>
    1.5 Deferred vs immediate execution
    1.6 Func<T> vs Expression<Func<T>> — delegates vs expression trees
    1.7 Expression trees: the basics

    Part 2 — Core operators (the ones you actually use)

    2.1 Filtering
    2.2 Projection
    2.3 Ordering
    2.4 Partitioning / paging
    2.5 Quantifiers
    2.6 Element operators
    2.7 Aggregation
    2.8 Grouping
    2.9 Joins
    2.10 Set operations
    2.11 Materialization & conversion
    2.12 Generation

    Part 3 — Performance & time complexity

    3.1 Complexity cheat sheet (LINQ to Objects, n = input)

    Sign in to mark lessons done and keep your place in the course.Sign in