Dalej•LEKCJA 24 / 24

Task i asynchroniczność

Kurs C# · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.

Task reprezentuje trwającą operację.

Cel lekcji

Poznać zagadnienie „Task i asynchroniczność”, zrozumieć przykład i umieć zastosować podobny zapis we własnym programie.

Wyjaśnienie krok po kroku

await czeka na jej wynik bez blokowania wątku w typowym modelu asynchronicznym. Nie każda funkcja musi być asynchroniczna.

Najpierw przeanalizuj kod bez uruchamiania. Zwróć uwagę, jakie dane wykorzystuje program, co z nimi robi i skąd bierze się wynik pokazany pod przykładem.

Praktyczny przykład

Gdzie zobaczysz efekt: Konsola projektu .NET

async Task<int> GetAnswerAsync() {
  await Task.Delay(10);
  return 42;
}
Console.WriteLine(await GetAnswerAsync());

Przeczytaj kod linijka po linijce

  1. return 42;Zwracamy wyliczoną wartość do miejsca wywołania funkcji.
  2. Console.WriteLine(await GetAnswerAsync());Wyświetlamy wartość, aby sprawdzić efekt działania programu.
Oczekiwany wynik / efektpo uruchomieniu przykładu
42

Jak utrwalić tę umiejętność?

Przepisz kod samodzielnie. Następnie zmień jedną wartość lub jedną instrukcję i spróbuj przewidzieć efekt. Dopiero potem uruchom zmienioną wersję. Jeśli wynik jest inny niż oczekiwany, porównaj kolejne linie.

Spróbuj samodzielnie

Napisz metodę asynchroniczną zwracającą napis.

To już koniec tej lekcji.

Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.