using System.Threading.Tasks;
private static Random rand = new Random();
public static void Main()
int timeout = rand.Next(10, 20);
Console.WriteLine("Timeout is: {0}", timeout);
DateTime start = DateTime.Now;
Task<string> task1 = Program.SomeAsyncMethod(timeout);
string result = task1.Result;
DateTime end = DateTime.Now;
Console.WriteLine("It took {0} ms to complete", (end - start).TotalMilliseconds);
result = Program.SomeAsyncMethod(timeout).Result;
Console.WriteLine("It took {0} ms to complete", (end - start).TotalMilliseconds);
private static async Task<string> SomeAsyncMethod(int i)
string result = String.Empty;
var task = Task.Run(() => {
return "So long expected string!!!";