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
Melaksanakan iterator (
<code class="language-csharp">IEnumerable<object> FilteredList() { foreach (object item in FullList) { if (IsItemInPartialList(item)) yield return item; } }</code>
FilteredList()
Kata kunci memudahkan penciptaan adat. Dalam versi awal C#, objek FullList
mesti dilaksanakan secara manual oleh objek.
Implementing Iterators
Kod ini mengembalikan urutan integer tanpa logik berulang eksplisit.
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>
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!