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.