A closure that keeps state in C#

C# interview exercise on Delegates & Iterators, difficulty 2 of 3. Solve it in the editor beside a worked example; the tests run the moment you do.

Write MakeCounter(start = 0) that returns a Func<int>; each call adds 1 and returns the new count. Every counter keeps its own count: a lambda captures the variable itself, not a copy of its value.

Each exercise pairs a worked example with a twin problem to solve in a real editor; the tests run the moment you do. Progress is saved in your browser, and in your account if you sign in.

More Delegates & Iterators in C#

All C# exercises · Other languages and frameworks