Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Menggunakan Kaedah Async dengan Betul dari Kaedah Utama dalam C#?
Memanfaatkan Kaedah Async dalam Utama: Panduan Komprehensif
Dalam bidang pengaturcaraan tak segerak, tidak jarang kita menghadapi situasi di mana kita perlu panggil kaedah async terus daripada kaedah Utama. Memahami cara ini boleh dicapai adalah penting untuk memanfaatkan faedah pengaturcaraan tak segerak.
Invokasi Kaedah Asynchronous dalam Utama
Pertimbangkan coretan kod berikut:
kelas awam ujian
{
public async Task Go() { await PrintAnswerToLife(); Console.WriteLine("done"); } public async Task PrintAnswerToLife() { int answer = await GetAnswerToLife(); Console.WriteLine(answer); } public async Task<int> GetAnswerToLife() { await Task.Delay(5000); int answer = 21 * 2; return answer; }
}
Pelbagai Pendekatan
Terdapat beberapa pendekatan untuk menggunakan async kaedah daripada kaedah Utama:
1. Kaedah Utama Async (C# 7.1 dan Lebih Baru)
Untuk versi C# 7.1 dan lebih baharu, kaedah Utama boleh ditandakan sebagai tak segerak. Ini membolehkan penggunaan langsung kaedah async dalam kaedah Utama, seperti yang dilihat dalam contoh berikut:
<br>statik async Task Main(rentetan[] args)<br>{</p> <pre class="brush:php;toolbar:false">test t = new test(); await t.Go(); Console.WriteLine("finished"); Console.ReadKey();
}
2. Panggil Kaedah "Tunggu"
Untuk versi C# yang lebih awal, kaedah Tunggu boleh digunakan untuk menyekat urutan sehingga kaedah async selesai. Pendekatan ini ditunjukkan di bawah:
<br>statik lompang Utama(rentetan[] args)<br>{</p> <pre class="brush:php;toolbar:false">test t = new test(); t.Go().Wait(); Console.WriteLine("finished"); Console.ReadKey();
}
3. OnCompleted Callback (Pendekatan Lama)
Dalam kes tertentu, anda mungkin perlu menggunakan panggilan balik OnCompleted seperti yang dilihat dalam coretan kod awal. Pendekatan ini, walau bagaimanapun, boleh membawa kepada kebuntuan dan harus dielakkan jika boleh.
Pendekatan Optimum
Untuk C# 7.1 dan lebih baharu, menggunakan kaedah utama async adalah pilihan utama pendekatan kerana ia memudahkan kod dan menghapuskan keperluan untuk panggilan balik berasaskan panggilan. Untuk versi C# yang lebih awal, kaedah Tunggu boleh digunakan, tetapi penting untuk mengambil perhatian potensi implikasi prestasi yang dikaitkan dengan menyekat urutan.
Kesimpulan
Menggunakan kaedah async daripada kaedah Utama boleh dicapai melalui pelbagai teknik. Dengan memahami pendekatan yang berbeza dan implikasinya, anda boleh memilih penyelesaian optimum berdasarkan keperluan khusus anda dan versi C# yang anda gunakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Kaedah Async dengan Betul dari Kaedah Utama dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!