Challenge 1: A Basic async Task Method — Possible Solution ==================================================================== Program.cs: static async Task GetAnswerAsync() { await Task.Delay(500); return 42; } static async Task Main() { int result = await GetAnswerAsync(); Console.WriteLine(result); } Output (after a roughly half-second pause): 42 Explanation: GetAnswerAsync() is declared async Task, meaning it eventually produces an int wrapped in a Task. Inside it, await Task.Delay(500) suspends the method for about 500ms WITHOUT blocking the thread it's running on -- the thread is free to do other work during that pause. Once the delay completes, execution resumes and 42 is returned. Main itself is also async, so it can await GetAnswerAsync() directly, receiving the unwrapped int result once the Task completes. WHY THIS WORKS AS AN ANSWER ------------------------------ This uses the exact async Task / await Task.Delay() shape the chapter introduces, with an async Main properly awaiting the call rather than blocking on it.