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?