C# menunggu

WBOY
Lepaskan: 2024-09-03 15:04:52
asal
520 orang telah melayarinya

Kata kunci tunggu dalam bahasa pengaturcaraan C# digunakan untuk menggantung semua kaedah tak segerak yang disertakan sehingga titik di mana operasi yang dibentangkan oleh kaedah tak segerak selesai. Agar atau pembangun memanggil berbilang fungsi dengan cara tak segerak, async dan tunggu sangat digunakan dan disyorkan. Ia adalah mungkin untuk mewarisi hampir semua ciri pengaturcaraan tak segerak dengan hanya pelaksanaan mudah fungsi menunggu bersama-sama dengan async. Sekarang mari kita beralih kepada memahami sintaks standard untuk melaksanakan kata kunci tunggu.

Sintaks:

Sintaks standard untuk kata kunci await adalah mudah, ia termasuk kata kunci diikuti dengan fungsi atau kaedah. Sintaksnya adalah seperti berikut:

await anyFunction();
Salin selepas log masuk

Di sini, kami mempunyai sintaks bermula dengan kata kunci await, diikuti dengan fungsi, yang boleh menjadi sebarang fungsi pada program. Kebebasan adalah untuk memanggil dan menghantar kata kunci menunggu kepada mana-mana kelas kaedah atau fungsi dalam sintaks.

Bagaimana menunggu Kata Kunci Berfungsi dalam C#?

Seterusnya, kami akan memahami cara kata kunci await sebenarnya berfungsi dalam C#, dan pada asasnya, kata kunci await menghentikan operasi kaedah async sehingga operan menyelesaikan operasi. Kemudian, selepas selesai operasi tak segerak, kata kunci tunggu kembali kepada hasil operasi jika ada. Kata kunci tunggu yang sama ini tidak menyekat sebarang ancaman kaedah async dan selepas menggantung kaedah async yang disertakan, kawalan program dikembalikan semula kepada pemanggil program. Jadi, beginilah cara kata kunci await berfungsi dan cara memprogramkan aliran sambil perlu melaksanakan kata kunci await. Seterusnya, kami kini akan melaksanakan kata kunci tunggu dan melihat cara kata kunci tersebut berfungsi dalam contoh kehidupan sebenar.

Contoh C# menanti

Sekarang kita telah memahami apa itu kata kunci await dan cara ia berfungsi, mari kita teruskan untuk menunjukkan kata kunci await berserta contoh. Di sini untuk contoh pertama kami, kami hanya akan menggunakan satu kaedah, dengan pernyataan cetakan dan kata kunci menunggu.

Contoh #1

Kod:

using System;
using System.Threading.Tasks;
class Program {
static void Main(string[] args) {
first_meth();
Console.ReadKey();
}
public static async Task first_meth() {
await Task.Run(() =>  {
for (int a = 0 ; a < 2; a++ )  {
Console.WriteLine(" Simple demonstration of await keyword.");
}
});
}
}
Salin selepas log masuk

Output:

C# menunggu

Penjelasan Kod: Ini ialah demonstrasi yang sangat mudah bagi kata kunci tunggu, di mana kami mempunyai satu kaedah dan kaedah utama. Kaedah utama memerlukan kaedah pertama dan pasti akan dilaksanakan. Kaedah ini mempunyai pelaksanaan kata kunci tunggu. Output akan menjadi pernyataan cetakan yang dicetak dua kali.

Contoh #2

Seperti yang dijangkakan, output ialah penyata yang dicetak dua kali. Untuk contoh seterusnya, kami akan mempunyai dua kaedah berbeza yang sama sekali tidak bergantung dan kami akan memanggilnya melalui kaedah utama. Kod untuk program adalah seperti berikut:

Kod:

using System;
using System.Threading.Tasks;
class Program {
static void Main(string[] args) {
exam1();
exam2();
Console.ReadKey();
}
public static async Task exam1()  {
await Task.Run(() =>  {
for (int a = 0 ; a < 5 ; a++ )  {
Console.WriteLine(" This will be printed 5 times.");
}
});
}
public static void exam2() {
for (int a = 0 ; a < 2 ; a++ ) {
Console.WriteLine(" This statement will be printed 2 times. ");
}
}
}
Salin selepas log masuk

Output:

C# menunggu

Penjelasan Kod: Untuk contoh pertama kami, kami mempunyai dua kaedah berbeza yang benar-benar bebas dan kami telah memanggil kaedah ini daripada kaedah utama program. Bermula dengan fail sistem yang diperlukan, kami mempunyai program kelas kami dengan kaedah utama, kaedah utama di mana kami memanggil dua kaedah yang akan diisytiharkan. Peperiksaan kaedah pertama kami1 dimulakan, dengan kata kunci await diikuti dengan fungsi lambda dan bagi pernyataan untuk mencetak pernyataan output. Kemudian kami mempunyai peperiksaan kaedah kedua kami, yang mempunyai pernyataan untuk, yang akan mencetak pernyataan output untuk beberapa kali.

Contoh #3

Seperti yang dijangkakan, pernyataan output adalah seperti yang dinyatakan dalam kod, seterusnya, kami akan melaksanakan kata kunci await dengan contoh lain di mana kami akan mempunyai tiga kaedah dan beberapa pernyataan cetakan.

Kod:

using System;
using System.Threading.Tasks;
class Program {
static void Main(string[] args) {
Console.WriteLine("\n");
callMethod();
Console.ReadKey();
}
public static async void callMethod() {
Task<int> task = exam1();
exam2();
int total = await task;
exam3(total);
}
public static async Task<int> exam1() {
int total = 0;
await Task.Run(() =>
{
for (int a = 0 ; a < 10 ; a++ )  {
Console.WriteLine(" This is a simple statement. ");
total += 1;
}
});
return total;
}
public static void exam2()  {
for (int a = 0 ; a < 2 ; a++ )  {
Console.WriteLine(" This is a second output statement.");
}
}
public static void exam3(int total) {
Console.WriteLine(" Total number of statements from first method are   " + total);
}
}
Salin selepas log masuk

Output:

C# menunggu

Penjelasan Kod: untuk contoh ketiga kami, kami mempunyai tiga kaedah berbeza dan kami memanggil kaedah ini daripada kaedah utama. Dengan kaedah utama kami, kami memanggil callMethod, yang mempunyai tugas untuk memanggil kaedah peperiksaan1 dan peperiksaan1 dilaksanakan. Mengikut program, di sini kaedah peperiksaan1 tidak akan dilaksanakan terlebih dahulu kerana ia mempunyai kata kunci tunggu, jadi ia akan beralih ke kaedah seterusnya iaitu peperiksaan1 dan kaedah peperiksaan2 akan dilaksanakan, iaitu pernyataan, dicetak dua kali seperti yang dinyatakan dalam untuk gelung. Kemudian kaedah peperiksaan1 kami akan dicetak diikuti dengan peperiksaan3, kaedah peperiksaan3 adalah pernyataan tunggal. Secara keseluruhannya, 13 penyata output akan dicetak. Penyata terakhir akan mencetak bilangan kali kami mencetak penyata daripada kaedah peperiksaan1. Seperti yang dijelaskan jumlah bilangan 13 penyata cetakan, pelaksanaan mudah kata kunci tunggu dengan pelbagai kaedah.

Kesimpulan

Untuk membuat kesimpulan, kata kunci tunggu digunakan untuk menggantung acara dan mengembalikan kawalan program kepada pemanggil. Fungsi ini digunakan secara meluas apabila kita mempunyai pelbagai kaedah dan fungsi. Kata kunci tunggu digunakan untuk mengembalikan kawalan kembali kepada pemanggil dan ia hanya boleh digunakan dalam kaedah async.

Atas ialah kandungan terperinci C# menunggu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan