Разница между операторами await и async в C# заключается в их назначении:
- Оператор async используется для маркировки метода как асинхронного. 13 Он указывает, что метод может содержать одно или несколько выражений await. 1 При этом слово async, указанное в определении метода, не делает его автоматически асинхронным. 1
- Оператор await предваряет выполнение задачи, которая будет выполняться асинхронно. 1 Он проверяет, завершена ли ожидаемая операция. 2 Если завершена, то метод продолжает выполняться синхронно, как обычный метод. 2 Если нет, то оператор действует асинхронно: сообщает ожидаемой операции запустить оставшуюся часть метода после завершения и возвращается из асинхронного метода. 2
Таким образом, async позволяет использовать оператор await, а await предваряет выполнение задачи, которая будет выполняться асинхронно, и позволяет методу приостанавливать себя в ожидании какой-либо операции. 14