Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memecahkan Gelung Bersarang dengan Cekap dalam C#?

Bagaimana untuk Memecahkan Gelung Bersarang dengan Cekap dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-17 04:17:07
asal
500 orang telah melayarinya

How to Efficiently Break Out of Nested Loops in C#?

Keluar dengan cekap gelung bersarang C#

Dalam pengaturcaraan, gelung bersarang sering digunakan untuk mengulangi berbilang koleksi atau melakukan pengiraan yang rumit. Walau bagaimanapun, kadangkala anda mungkin perlu keluar lebih awal daripada gelung dalaman dan luaran, yang boleh mencipta cabaran prestasi dan kecekapan.

Soalan:

Jika anda mempunyai gelung bersarang untuk dan ingin keluar dari kedua-dua gelung (dalam dan luar) dengan cekap, apakah cara terpantas? Anda mungkin teragak-agak untuk menggunakan nilai Boolean atau pernyataan goto kerana kebimbangan prestasi atau pilihan gaya.

Penyelesaian:

Walaupun boleh menggunakan pernyataan goto, ia secara amnya dianggap sebagai pendekatan yang ketinggalan zaman dan tidak cekap. Pertimbangkan alternatif berikut:

1. Kaedah Tanpa Nama (C#):

Kaedah tanpa nama membolehkan anda mentakrifkan fungsi tanpa menyatakan namanya. Ini berguna dalam situasi di mana anda perlu membuat kelakuan gelung tersuai tanpa overhed pengisytiharan fungsi penuh. Dalam kaedah tanpa nama, anda boleh menggunakan pernyataan pulangan untuk keluar dari gelung dalam dan luar.

Contoh:

<code class="language-csharp">// 匿名方法
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

2. Fungsi setempat (C# 7 dan ke atas):

Fungsi tempatan ialah ciri yang diperkenalkan dalam C# 7 yang membolehkan anda mengisytiharkan fungsi dalam kaedah lain. Ini memberikan kesan yang serupa kepada kaedah tanpa nama, tetapi dengan sintaks yang lebih bersih dan lebih ekspresif.

Contoh:

<code class="language-csharp">// 局部函数(在另一个方法内部声明)
void Work()
{
    for (int x = 0; x < 10; x++)
    {
        for (int y = 0; y < 10; y++)
        {
            if (/* 退出条件 */) return;
        }
    }
}</code>
Salin selepas log masuk

Kaedah ini menyediakan cara yang cekap dan elegan untuk keluar dari gelung bersarang dalam satu baris kod. Ia boleh digunakan dalam situasi di mana anda perlu menamatkan pelaksanaan gelung lebih awal dan meneruskan pelaksanaan dengan bahagian kod seterusnya.

Atas ialah kandungan terperinci Bagaimana untuk Memecahkan Gelung Bersarang dengan Cekap 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