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
Lepaskan: 2025-01-17 04:11:09
asal
483 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan