Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Keluar dengan Cekap Gelung Bersarang dalam C#?
Kaedah keluar yang berkesan bagi gelung bersarang C#
Apabila berurusan dengan gelung bersarang, selalunya perlu untuk keluar dari semua gelung pada masa yang sama terlebih dahulu. Beberapa teknik yang cekap boleh digunakan untuk tujuan ini.
Kenyataan masuk (tidak disyorkan)
Salah satu cara, walaupun tidak digalakkan, adalah dengan menggunakan pernyataan goto:
<code class="language-c#">for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (/* 退出条件 */) { goto ExitLoops; } } } ExitLoops:;</code>
Pendekatan ini secara amnya tidak disyorkan kerana ia sukar dibaca dan terdedah kepada ralat.
Kaedah tanpa nama
Pendekatan yang lebih fleksibel ialah merangkum gelung bersarang dalam kaedah tanpa nama dan keluar menggunakan pernyataan pulangan:
<code class="language-c#">Action work = delegate { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) { return; } } } }; work();</code>
Dalam kes ini, pernyataan pulangan dalam kaedah tanpa nama menyebabkan kedua-dua gelung bersarang keluar serta-merta.
Fungsi setempat (C# 7 dan ke atas)
Fungsi tempatan yang diperkenalkan bermula dalam C# 7 menyediakan penyelesaian yang lebih elegan:
<code class="language-c#">void Work() { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) { return; } } } }</code>
Fungsi setempat membolehkan anda mengisytiharkan kaedah dalam kaedah lain, membolehkan anda menggunakan pernyataan pulangan untuk keluar dari kedua-dua gelung sambil memastikan struktur kod anda jelas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Keluar dengan Cekap Gelung Bersarang dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!