using System.Threading.Tasks;
public static void Main()
Console.WriteLine("Attempting RecurseWithYield...");
RecurseWithYield(50000).Wait();
Console.WriteLine("Succeeded!");
Console.WriteLine("Attempting RecurseDirect...");
RecurseDirect(50000).Wait();
Console.WriteLine("Succeeded!");
public async static Task RecurseWithYield(int n)
await RecurseWithYield(n-1);
public async static Task RecurseDirect(int n)
await RecurseDirect(n-1);