using System; using System.Collections.Generic; using System.Threading.Tasks; public class Ex6 { public static async Task Run() { /* Example for Task Coordination using Task.WhenAny() */ Random random = new(); async Task<(int index, int waitingTime)> randomDelay(int index) { var waitingTime = random.Next(500, 2000); await Task.Delay(waitingTime); return (index, waitingTime); } List> taskList = new(); for (int i = 1; i < 10; i++) { var delayedTask = randomDelay(i); taskList.Add(delayedTask); } var fastestTask = await Task.WhenAny(taskList); Console.WriteLine($"The fastest task was Task {fastestTask.Result.index}. It took {fastestTask.Result.waitingTime} ms to complete."); } }