Heim > Backend-Entwicklung > C++ > Asynchron/wartet in C#: Wann soll die Aufgabe gegen VID zurückgegeben werden?

Asynchron/wartet in C#: Wann soll die Aufgabe gegen VID zurückgegeben werden?

Barbara Streisand
Freigeben: 2025-02-01 14:11:08
Original
659 Leute haben es durchsucht

Async/Await in C#: When to Return Task vs. Void?

c#Asynchrones Programmieren

Der Rückgabewert der Methode: async oder Task? void

Bei der Verwendung von C#für asynchrone Programmierungen kann die

-Methode async oder Task zurückgeben. Diese Wahl ist unerlässlich, da sie das Verhalten der Methode und ihre Art der Interaktion mit dem Anrufcode bestimmt. void

Wann gibt es

Task zurück

Normalerweise sollten Sie, wenn Sie den Fortschritt oder das Ergebnis der asynchronen Operation an die Call Party erzielen möchten,

zurückgeben. Auf diese Weise kann der Anrufer auf die Aufgabe warten und nach Abschluss der Aufgabe weiter ausgeführt werden. Zurück zu Task kann auch eine abnormale Verarbeitung und den asynchronen Modus wie Task verwenden, was den Fortschritt mehrerer Aufgaben überwachen kann. async-foreach

Wann gibt es

void zurück

Die einzige Situation, die geeignet ist,

an async zurückzugeben, ist, wenn Sie eindeutig void zurückbleiben, z. B. im Ereignisverarbeitungsprogramm oder im UI -Rückruf. In diesen Fällen sollte der Anrufer nicht in der Lage sein, auf diese Methode zu warten, und und void Schlüsselwörter sind nicht erforderlich. async await Vermeiden Sie die obere -Level -Methode

Die Methode von hat eine spezielle Semantik und sollte mit Vorsicht verwendet werden. Sie repräsentieren erstklassige asynchrone Operationen und haben im Vergleich zur Methode der Rückgabeaufgaben unterschiedliche abnormale Behandlungsregeln. Die Anomalien in der Top -Methode werden als unverarbeitete Anomalien angesehen und können zu einem zufälligen Verhalten führen. async void

Betrachten Sie beispielsweise den folgenden Code:

async void void in diesem Fall ist die Verwendung von

unnötig, und es kann Probleme geben, weil:

public static async void AsyncMethod2(int num)
{
    await Task.Factory.StartNew(() => Thread.Sleep(num));
}
Nach dem Login kopieren
verhindert, dass die Call Party auf diese Methode wartet und deren Fortschritte überwacht wird.

Die Abnormalitäten in der Methode werden nicht verarbeitet und können abnormales Anwendungsverhalten verursachen. async void

    Es ist am besten, die Methode und
  1. Schlüsselwörter zu verwenden, um die korrekte abnormale Behandlung zu gewährleisten und die Fähigkeit zu erhalten, asynchrone Operationen zu verfolgen und zu verwalten.

Das obige ist der detaillierte Inhalt vonAsynchron/wartet in C#: Wann soll die Aufgabe gegen VID zurückgegeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage