using System.Threading.Tasks;
public static void Main()
var stringTask = GetStringAsyncRun(null);
Task.WaitAll(stringTask);
Console.WriteLine("Inner");
Console.WriteLine("Outer");
public static void FromResult()
var stringTask = GetStringAsyncFromResult(null);
Task.WaitAll(stringTask);
Console.WriteLine("Inner");
Console.WriteLine("Outer");
public static Task<string> GetStringAsyncRun(string a)
public static Task<string> GetStringAsyncFromResult(string a)
return Task.FromResult(a);