Lessons
C# · Medium
C# · Medium. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
Extension methods
Add methods to types you don't own with static classes and the this modifier.

Lesson 2
Iterators and yield return
Lazy sequences with yield return, yield break, and how iterator state machines run.

Lesson 3
LINQ grouping and joins
GroupBy, ToDictionary, Join, SelectMany, and Aggregate for real data shaping.

Lesson 4
Properties, indexers, and init
Auto-properties, computed getters, init-only setters, required members, and indexers.

Lesson 5
Events and multicast delegates
Declare events, subscribe with +=, raise safely with ?.Invoke, and use EventHandler<T>.

Lesson 6
async, await, and Task
Task and Task<T>, await, Task.WhenAll, and why async void is for event handlers only.

Lesson 7
IDisposable and using
Deterministic cleanup with using declarations, using blocks, and the dispose order.

Lesson 8
Generic constraints
where T : class, struct, new(), interfaces, and base types to unlock members.

Lesson 9
StringBuilder and formatting
Build strings efficiently, format numbers and dates, and use culture-invariant output.

Lesson 10
Custom exceptions and filters
Define exception types, use when filters, preserve stack traces, and finally.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.