Unterschied zwischen Task und Async

C # bietet zwei Möglichkeiten zum Erstellen asynchroner Methoden:

Methode 1:

static Task<string> MyAsyncTPL() {
  Task<string> result = PerformWork();
  return result.ContinueWith(t => MyContinuation());
}

Methode 2:

static async Task<string> MyAsync() {
  string result = await PerformWork();
  return MyContinuation();
}

Beide oben genannten Methoden sind asynchron und erzielen dasselbe. Wann sollte ich also eine Methode der anderen vorziehen? Gibt es irgendwelche Richtlinien oder Vorteile, wenn man eins gegenüber dem anderen verwendet?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage