Разница между заданием и асинхронностью
C # предоставляет два способа создания асинхронных методов:
Способ 1:
static Task<string> MyAsyncTPL() {
Task<string> result = PerformWork();
return result.ContinueWith(t => MyContinuation());
}
Способ 2:
static async Task<string> MyAsync() {
string result = await PerformWork();
return MyContinuation();
}
Оба вышеупомянутых метода являются асинхронными и достигают того же самого. Итак, когда я должен выбрать один метод над другим? Есть ли какие-либо рекомендации или преимущества использования одного над другим?