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