๐น๏ธ Practice arcade
Extra games, not extra homework โ timed sprints, survival runs that end when your lives run out, and mastery drills built from the same skills C# teaches.
โก Sprints
Beat the clock.
๐ Bug-Hunt Time Trial
Two minutes. Each method has one bad line: a <= that runs off the end, an integer average, a stray semicolon, an if that assigns. Find it.
โ Operator Sprint
Integer / and %, casts, ++ before and after, precedence, && and ||, and + with text. Evaluate it before the compiler does.
๐ค String Sprint
Trim that was thrown away, IndexOf and Substring, ranges and ^, Split with empty pieces, Join and Replace.
๐ LINQ Sprint
Where, OrderBy, Skip and Take in order; Count and Sum with a test; GroupBy's real order; and a query that sees changes after it was written.
๐ Survival
Each miss costs a life โ lose them all and the run ends.
๐ฅ Null, Throw, Crash
An unchecked as, FirstOrDefault, throw ex, a list changed mid-foreach, a Trim thrown away. Three misses and the service falls over.
โณ Async Bug Survival
async void, .Result, a forgotten await, DateTime.Now in stored data, a counter two threads fight over. Three misses and you're out.
๐๏ธ Collections Survival
Shared arrays, Remove or RemoveAt, the indexer or TryAdd, Queue or Stack, and the right collection for the job. Three misses and you're out.
๐ฏ Mastery
No clock โ just get N in a row.
๐ Code Review
SQL glued from user input, a new HttpClient per call, interpolated log messages, a captive dependency, a 200 for a missing order. Catch five in a row.
๐ Loop Tracer
switch sections, while and do, for-loop passes, break and continue: trace five in a row without an off-by-one.
๐งญ Calls and Returns
Which argument changes, which overload wins, where a named or omitted argument lands, what a local function sees, and in what order a recursive method prints.
๐งฑ Classes at Work
Setters that clamp, properties that recompute, constructors that chain, base-class code that calls an override, and calls through an interface.
๐๏ธ Objects and Types
Static counters, constructor order, override versus new, struct copies, record equality and with, and class, record or struct.
โจ ?., Patterns and Lambdas
?. and ?? and ??=, first-match switch arms with < and <=, and what a lambda in a loop really captured.
๐ฏ Who Handles It?
When finally runs, which catch (and which when filter) takes the exception, and the order using closes things.
๐ฉบ Read the Failure
Compile error, warning, runtime error or logic error? And which exception does this line really throw?
๐งฉ Design Choices
Transient, scoped or singleton; framework-dependent, self-contained, single-file or AOT; and which pattern the problem is asking for.