Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memecahkan Gelung Bersarang dengan Cekap dalam C#?
C# Kaedah keluar anggun untuk gelung bersarang
Apabila berurusan dengan gelung bersarang C#, kadangkala perlu keluar dari semua gelung lebih awal. Pendekatan tradisional selalunya bergantung pada bendera Boolean atau pernyataan GOTO, yang kedua-duanya memberi kesan kepada kebolehbacaan dan prestasi kod.
Penyelesaian
Pendekatan yang lebih elegan ialah menggunakan kaedah tanpa nama atau fungsi tempatan. Dalam kaedah tanpa nama, pernyataan return
boleh keluar dari kaedah lebih awal, dengan itu melompat keluar dari semua gelung bersarang. Pendekatan ini menunjukkan prestasi yang agak baik dan meningkatkan kebolehbacaan kod.
Contoh menggunakan kaedah tanpa nama
<code class="language-csharp">// 创建一个匿名方法 Action work = delegate { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (x == 5 && y == 5) { return; // 退出匿名方法,从而退出两个循环 } } } }; work(); // 调用匿名方法</code>
Contoh penggunaan fungsi setempat
C# 7 memperkenalkan fungsi tempatan, yang menyediakan alternatif yang lebih ringkas secara sintaksis untuk keluar dari gelung bersarang Berbanding dengan kaedah tanpa nama, fungsi tempatan lebih diperhalusi secara sintaksis:
<code class="language-csharp">// 创建一个局部函数 void Work() { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (x == 5 && y == 5) { return; // 退出局部函数,从而退出两个循环 } } } } Work(); // 调用局部函数</code>
Ringkasan
Menggunakan kaedah tanpa nama atau fungsi setempat menyediakan kaedah keluar awal gelung bersarang C# yang cekap dan mudah. Kaedah ini meningkatkan kebolehbacaan kod dan menyediakan alternatif yang lebih berprestasi kepada kaedah tradisional seperti bendera Boolean atau pernyataan GOTO.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memecahkan Gelung Bersarang dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!