Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah kata kunci `hasil` memudahkan penciptaan iterator di C#?
Memahami kata kunci C
kata kunci yield
dalam C# dengan ketara memudahkan penciptaan iterators. Iterator menyediakan urutan nilai tanpa memerlukan keseluruhan urutan untuk disimpan dalam memori sekaligus. "Penilaian malas" ini meningkatkan kecekapan, terutamanya apabila berurusan dengan dataset besar.
mengubah gelung standard ke dalam kaedah iterator. Kaedah ini mengembalikan objek yang melaksanakan antara muka yield
(di mana
, kaedah iterator melaksanakan, berhenti dan menyambung semula dengan setiap lelaran terima kasih kepada yield
. IEnumerable<T>
T
Ini menghapuskan pembukuan manual yang biasanya dikaitkan dengan pelaksanaan iterator, menghasilkan kod yang lebih bersih, lebih banyak dikekalkan. foreach
yield
Pertimbangkan contoh ini:
Mengembalikan subset yang ditapis
. Pernyataan<code class="language-csharp">public IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } }</code>berhenti melakukan pelaksanaan selepas setiap item yang sepadan ditemui, mengembalikan item itu kepada pemanggil. Iterator menyambung semula apabila item seterusnya diminta.
FilteredList
FullList
tidak ternilai dalam pelbagai situasi: menjana urutan dari pertanyaan, membaca data malas dari fail atau pangkalan data, dan mencipta iterators tersuai untuk struktur data yang unik. Pengenalannya dalam C# 2.0 sangat meningkatkan kemudahan dan kecekapan pembangunan iterator. yield return
Atas ialah kandungan terperinci Bagaimanakah kata kunci `hasil` memudahkan penciptaan iterator di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!