Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Keluar dengan Cekap Gelung Bersarang dalam Pengaturcaraan?

Bagaimanakah Saya Boleh Keluar dengan Cekap Gelung Bersarang dalam Pengaturcaraan?

Susan Sarandon
Susan Sarandonasal
2025-01-17 04:26:08117semak imbas

How Can I Efficiently Exit Nested Loops in Programming?

Keluar dari Gelung Bersarang Dengan Cekap

Pengaturcara sering menghadapi cabaran untuk keluar dengan cekap daripada gelung bersarang. Artikel ini membentangkan dua strategi yang berkesan:

1. Memanfaatkan return Penyata dalam Fungsi Bersarang

Gelung bersarang boleh berada di dalam kaedah atau fungsi tanpa nama. Menggunakan pernyataan return dalam gelung dalam menyediakan jalan keluar yang bersih daripada kedua-dua gelung secara serentak.

<code class="language-csharp">Action work = delegate
{
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (someCondition)
            {
                return; // Exits both loops
            }
        }
    }
};</code>

2. Menggunakan Fungsi Setempat (C# 7 dan lebih baru)

Fungsi tempatan, tersedia dalam C# 7 dan versi seterusnya, membenarkan mentakrifkan fungsi dalam kaedah lain. Ini memudahkan mekanisme keluar berstruktur dan setempat.

<code class="language-csharp">void Work()
{
    bool found = false;
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (someCondition)
            {
                found = true;
                break; // Exits inner loop only
            }
        }
        if (found) break; //Exits outer loop
    }
}</code>

Kedua-dua return dalam fungsi bersarang dan penggunaan fungsi setempat menyediakan penyelesaian yang elegan untuk keluar dari gelung bersarang, mengelakkan pendekatan yang kurang berstruktur seperti goto atau pengendalian pengecualian, sekali gus mempromosikan kod yang lebih bersih dan boleh diselenggara.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Keluar dengan Cekap Gelung Bersarang dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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