.NET 4.x Объяснить работу кода с async/await - C#
Формулировка задачи:
Помогите пожалуйста разобраться с этой темой. Имеется такой код:
он компилится, но что и как работает не понимаю. Насколько я понимаю программа входи в метод MethoTest, вызывает метод MethoTest1 и он начинает выполняться в отдельном потоке, а программ продолжает идти по циклу в методе MethoTest и вызывать дальше методы MethoTest1. Почему-то на консоль не выводится Объясните пожалуйста, что не так я понимаю ?
static void Main(string[] args)
{
MethoTest();
Console.WriteLine("Finish");
Console.ReadLine();
}
private static async void MethoTest()
{
for (var i = 0; i < 10; i++)
{
var result = await MethoTest1();
Console.WriteLine(string.Format("async {0}", result));
}
}
public static Task<int> MethoTest1()
{
return new Task<int>(delegate
{
var counter = 0;
for (int i = 0; i < 100000000; i++)
counter++;
return counter;
});
} Console.WriteLine(string.Format("async {0}", result));Решение задачи: «.NET 4.x Объяснить работу кода с async/await»
textual
Листинг программы
private static void Test()
{
Task<int> x = Test2();
}
static Task<int> Test2()
{
return Task.Run(delegate
{
var res = 0;
for (int i = 0; i < 100000000; i++)
res++;
return res;
});
}