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

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

Linda Hamilton
Linda Hamiltonasal
2025-01-17 04:32:09368semak imbas

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

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