Sobes.tech
Middle

C# dilinde async anahtar kelimesi ve await operatörü nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

async yöntemi asenkron olarak işaretler, böylece içinde await kullanılabilir. Bu, yöntemi kendisini asenkron yapmaz, ancak derleyicinin yürütmeyi yönetecek bir durum makinesi üretmesine izin verir.

await, Task veya Task<T> döndüren bir ifadeden önce kullanılır. Bu, beklenen görevin tamamlanmasına kadar mevcut async yöntemin yürütülmesini duraklatır, yürütme akışını engellemeden. Görev tamamlandığında, yöntem await sonrası noktadan devam eder. Görev bir sonuç döndürüyorsa (Task<T>), await bu sonucu döndürür.

public async Task<int> GetDataAsync()
{
    // Asenkron işlem
    HttpClient client = new HttpClient();
    string result = await client.GetStringAsync("http://example.com"); 

    // GetStringAsync tamamlandıktan sonra yürütme devam eder
    // Sonuç işleme
    return result.Length; 
}