Важные темы C#

Асинхронное программирование с async и await в C#

В этом уроке вы напишете асинхронный код с async и await, чтобы ждать задачу, не блокируя программу.

Введение

Когда программе нужно дождаться долгих операций, например чтения файла, вызова API или таймера, асинхронное (asynchronous) программирование не блокирует поток на время ожидания. C# предоставляет ключевые слова async и await, чтобы асинхронный код читался так же легко, как обычный последовательный.

Метод Main объявлен как static async Task. Инструкция await Task.Delay(20) приостанавливает метод на 20 миллисекунд, не блокируя текущий поток. Когда ожидание заканчивается, метод продолжает работу точно с этого места и выводит Async work complete.

Пример на C#, который можно запустить

C#
Запустить код →
Program.cs
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        await Task.Delay(20);
        Console.WriteLine("Async work complete");
    }
}
Результат выполнения
Async work complete

Практика с отладчиком

Поставьте точку останова на важное присваивание или условие, нажмите Debug и посмотрите локальные значения, прежде чем перейти к следующей строке.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи