Async/Await in C#

A reflective, hands-on journey through asynchronous programming in C#.

1. The Art of Not Waiting

1. The Art of Not Waiting

An introduction to asynchronous thinking—and why waiting isn’t stopping.

2. Understanding Async and Await

2. Understanding Async and Await

Demystifying how C# pauses and resumes work - the state machine, continuation, and why async/await reads like plain code.

3. Why Async/Await Changes Everything

3. Why Async/Await Changes Everything

Why async/await exists at all—eliminating wasted wait time to unlock responsiveness and throughput.

4. Asynchronous vs Parallel Programming

4. Asynchronous vs Parallel Programming

Understanding the difference between asynchronous and parallel programming in C#—timing, teamwork, and how they complement each other.

5. Continuation and Context

5. Continuation and Context

How C# resumes work after an await—the idea of continuation, context, and why it matters for UI and server code.

6. When Something Burns

6. When Something Burns

Understanding how exceptions work in asynchronous code—where they go, how to catch them, and why context matters.

7. Designing Reliable Async Methods

7. Designing Reliable Async Methods

Building predictable asynchronous methods in C#—avoiding pitfalls, ensuring consistency, and writing code that never loses track.

8. The Habits of Asynchrony

8. The Habits of Asynchrony

Practical habits for writing graceful asynchronous code in C#—from safe awaits to consistent patterns that keep systems smooth.