Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah kata kunci `hasil` berfungsi di C# untuk membuat iterators dan meningkatkan prestasi?

Bagaimanakah kata kunci `hasil` berfungsi di C# untuk membuat iterators dan meningkatkan prestasi?

Linda Hamilton
Lepaskan: 2025-01-27 17:41:08
asal
783 orang telah melayarinya

How Does the `yield` Keyword Work in C# to Create Iterators and Improve Performance?

dalam c#

kata kunci: pengoptimuman iterator dan prestasi yield Kata kunci memainkan peranan penting dalam C#. Marilah kita memahami fungsinya secara mendalam.

secara beransur -ansur mengembalikan hasilnya (yield)

Kaedah yang dibenarkan kata kunci digantung dan hasilnya secara beransur -ansur dikembalikan. Apabila fungsi panggilan melepasi objek antara muka Yielding Results, kaedah kata kunci berulang kali dipanggil sehingga urutan berakhir. Mekanisme ini dipanggil "menghasilkan".

Sebagai contoh, pertimbangkan serpihan kod berikut: yield IEnumerable Kaedah yield kembali ke objek dari

mengikut syarat -syarat. Apabila hasil lelaran resipi, kaedah ini akan mengembalikan setiap sepadan dengan satu demi satu.

Melaksanakan iterator ()
<code class="language-csharp">IEnumerable<object> FilteredList()
{
    foreach (object item in FullList)
    {
        if (IsItemInPartialList(item))
            yield return item;
    }
}</code>
Salin selepas log masuk

FilteredList() Kata kunci memudahkan penciptaan adat. Dalam versi awal C#, objek FullList mesti dilaksanakan secara manual oleh objek.

menyediakan kaedah pernyataan yang lebih ringkas dan lebih banyak:

Implementing Iterators Kod ini mengembalikan urutan integer tanpa logik berulang eksplisit.

Aplikasi sebenar ()

yield IEnumerator Dalam aplikasi praktikal, yield sering digunakan dalam nilai nilai inersia, seperti data yang diambil dari pangkalan data. Pertimbangkan contoh berikut:

<code class="language-csharp">public IEnumerable<int> Integers()
{
    yield return 1;
    yield return 2;
    yield return 4;
    yield return 8;
    yield return 16;
    yield return 16777216;
}</code>
Salin selepas log masuk
Kaedah ini membina pengarang, memperoleh rekod dari jadual pangkalan data, dan membuat objek dengan fungsi pemetaan

untuk membuat jenis T. Dengan menggunakan , kaedah ini mengelakkan memuatkan keseluruhan hasil yang ditetapkan ke memori, untuk meningkatkan prestasi apabila memproses set data yang besar.

Atas ialah kandungan terperinci Bagaimanakah kata kunci `hasil` berfungsi di C# untuk membuat iterators dan meningkatkan prestasi?. 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