.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; }); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д