CAsync2 myc = new CAsync2();await myc.SomeEnd1(); await myc.SomeEnd2();public class CAsync2{ public async Task M1() { await Task.Delay(4000); Console.Write("M1"); } public Task M2() { Console.WriteLine("M2"); return Task.CompletedTask; } public async Task SomeEnd1() { await M1(); await M2(); } public async Task SomeEnd2() { var t1 = M1(); var t2 = M2(); await t1; await t2; }}
What is the result and why?