Sobes.tech
Junior — Middle

Milyen eredményt ad vissza egy aszinkron hívás egy módszerhez?

sobes.tech MI

Válasz az MI-től

A C#-ban egy metódus aszinkron hívása általában Task vagy Task<T> típusú objektumot ad vissza. Ez az objektum egy ígéretet (promise) képvisel arra, hogy a művelet a jövőben befejeződik.

  • Ha a metódus nem ad vissza eredményt, akkor Task-t ad vissza.
  • Ha a metódus T típusú eredményt ad vissza, akkor Task<T>-t ad vissza, amely a befejezéskor tartalmazza az eredményt.

Példa:

async Task<int> GetDataAsync()
{
    await Task.Delay(1000); // aszinkron művelet szimulálása
    return 42;
}

A GetDataAsync() hívás azonnal visszaad egy Task<int>-t, és az eredményt await vagy a Result tulajdonság segítségével lehet elérni (az utóbbi blokkolja a szálat).