So verwenden Sie Async und warten in C#

So verwenden Sie Async und warten in C#
Async und warten leistungsstarke Methoden in C#, mit denen Sie zeitaufwändige Operationen ausführen können, ohne den Hauptfaden zu blockieren. Eine der wichtigsten Funktionen von C#, die die asynchrone Programmierung unterstützt, ist Async () und Await (). In diesem Artikel wird erklärt, was Asynchronisation und wartet und wie sie in der C# -Programmierung verwendet werden.

Was ist asynchron in C#

Die async () -Methode läuft synchron, bis sie ihren ersten Ausdruck erreicht. Der Async () wird vor dem Rückgabetyp der Methode verwendet, und die Methodensignatur muss ein Aufgabe oder ein Aufgabenobjekt zurückgeben, wobei t der Typ des Wertes ist, den die Methode zurückgibt.

asynchron ()

// Asynchron warten, bis ein Betrieb abgeschlossen ist
// Geben Sie ein Aufgaben- oder Aufgabenobjekt zurück

Hier sind die Veränderungen in der Syntax:

  • : Der Rückgabetyp der Methode kann jeder gültige C# -Tatyp sein.
  • : Der Name der Methode.
  • : Die Methodenparameter. Dies können alle gültigen C# -Datentypen sein.

Was ist in C# erwartet

Mit dem Awiit () wird die Ausführung der Methode durchgeführt, bis der asynchrone Vorgang abgeschlossen ist. Hier ist die Syntax für diese Funktion:

erwarten

Hier sind die Veränderungen in der Syntax:

  • : Der Typ des Ergebnis.
  • : Die Variable, die das Ergebnis der asynchronen Operation speichert.
  • : Der Methode -Aufruf, der den asynchronen Betrieb ausführt.

So verwenden Sie Async und warten in C#

Mit Async und Wartee können Sie Code erstellen, der reaktionsschneller und effizienter ist, da er den Hauptfaden freigibt, um andere Vorgänge zu verarbeiten, während die asynchronen Vorgänge im Hintergrund ausgeführt werden. Im Folgenden finden Sie den Beispielcode, der sowohl Async verwendet als auch erwartet und demonstriert, wie Async verwendet wird, und wartet darauf, nicht blockierende, asynchrone Operationen in C# durchzuführen.

mit System verwenden;
Verwenden von System.Fäden.Aufgaben;
Klassenprogramm

statische void main (String [] args)

Konsole.WriteLine ("Berechnung beginnen");
// eine Aufgabe starten, um 2 und 3 asynchron hinzuzufügen
Task Task1 = AddaSync (2, 3);
Konsole.WriteLine ("Hinzufügen ...");
// eine Aufgabe starten, um 5 von 10 asynchron zu subtrahieren
Task Task2 = SubtractaSync (10, 5);
Konsole.WriteLine ("Subtrahieren ...");
// Warten Sie, bis die erste Aufgabe erledigt und das Ergebnis erzielt wird
int result1 = task1.Ergebnis;
Konsole.WriteLine ($ "2 + 3 = result1");
// Warten Sie, bis die zweite Aufgabe erledigt und das Ergebnis erzielt wird
int result2 = task2.Ergebnis;
Konsole.WriteLine ($ "10 - 5 = result2");
Konsole.WriteLine ("Berechnung vollständig!");

// eine Methode, die zwei Zahlen asynchron addiert
statische asynchrische taskaddasync (int a, int b)

Warten Sie auf die Aufgabe.Verzögerung (1000); // eine Verzögerung simulieren
Return a + b;

// eine Methode, die zwei Zahlen asynchron subtrahiert
statische asynchronisierte TasksubtractaSync (int A, int B)

Warten Sie auf die Aufgabe.Verzögerung (1000); // eine Verzögerung simulieren
Rückkehr a - b;

Im Code verwenden die Methoden AddaSync und SubtractaSync das Keyword, um anzuzeigen, dass sie einen asynchronen Operation durchführen. In diesem Fall handelt es sich um eine simulierte Verzögerung unter Verwendung dieser Task Delay () -Funktion (). Dadurch können die Methoden sofort zurückkehren, ohne den Hauptfaden zu blockieren.

In der Hauptmethode werden die Methoden AddaSync und SubtractractaSync unter Verwendung des Keywords auf wartet, um asynchron auf die Ergebnisse der Operationen zu warten. Dadurch kann das Programm weiter ausgeführt werden und andere Aufgaben ausführen, während das asynchrone Operationen ausgeführt wird.

Sobald die Aufgaben erledigt sind, wird die Ergebniseigenschaft verwendet, um das Ergebnis jeder Aufgabe abzurufen und in die Konsole zu drucken. Hier ist die Ausgabe des Code, den wir zuvor besprochen haben und mit Async und Wartezeit Hinzufügen und Subtraktion ausführen:

Abschluss

Die asynchrone Programmierung kann für Ihre Anwendung mehrere Vorteile bieten, einschließlich verbesserter Leistung, erhöhter Reaktionsfähigkeit und vereinfachter Code. Durch die Verwendung asynchroner Programmierechniken können Sie effizientere und reaktionsfähigere Anwendungen in C# erstellen. Das asynchrische Schlüsselwort wird mit dem Funktionsnamen verwendet, damit es asynchron funktioniert, während Sie darauf warten.