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

Bagaimanakah Saya Boleh Keluar dengan Cekap Gelung Bersarang dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-17 04:11:09490semak imbas

How Can I Efficiently Exit Nested Loops in 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!

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