I'm learning the usage of async and await, and tried to do the following:
I have an array of numbers in a particular order, and an async method that gets a number and a time delay, and return the same passed-in number. 
What I'd like to achieve is to print the numbers in a reveresed order (relative to the calling order), utilizing the time delay.
I'm having a hard time figuring out how to do it, and be glad for a guidance. Here's what I have (which, ofcourse, doesn't work):
public static async Task<int> DelayAndReturn(int number, int milisecDelay)
{
    await Task.Delay(milisecDelay);
    return number;
}
public static void Main(string[] args)
{
    int[] arr = { 1, 2, 3 };
    int milisecDelay = 10000;
    foreach (int num in arr)
    {
       Console.WriteLine(DelayAndReturn(num, milisecDelay));
       milisecDelay /= 10;
    }
    Console.ReadLine();
}
 
    