Yild break bayonotidan qachon foydalanasiz?
Yild break bayonotidan qachon foydalanasiz?

Video: Yild break bayonotidan qachon foydalanasiz?

Video: Yild break bayonotidan qachon foydalanasiz?
Video: Дэн Мейер: Пора пересмотреть курс математики 2024, Dekabr
Anonim

#561 – Foydalanish a yield break bayonoti

Iteratorni amalga oshirishda Yo'l bering qaytish bayonot qaytarilayotgan ketma-ketlikdagi keyingi elementni qaytaradi. Agar foydalanyapsiz a halqa iterator blokida, sindirish uchun yield break bayonotidan foydalanishingiz mumkin dan halqa , boshqa elementlar yo'qligini ko'rsatadi uchun qaytarilsin.

Xuddi shunday, hosilning uzilishi nima?

Bu iterator tugashini bildiradi. Siz mumkin haqida o'ylash hosilning uzilishi Qaytish bayonoti sifatida qiladi qiymat qaytarmaydi. Masalan, agar siz funksiyani iterator sifatida belgilasangiz, funktsiyaning tanasi quyidagicha ko'rinishi mumkin: Bu holda oxirgi bayonot hech qachon bajarilmaydi, chunki biz funktsiyani erta tark etganmiz.

Bundan tashqari, rentabellik to'g'risidagi bayonot nimani ko'rsatadi? The Yo'l bering kalit so'z maxsus va holatli iteratsiyani amalga oshiradi va qaytadi to'plamning har bir elementi bir vaqtning o'zida vaqtinchalik kollektsiyalarni yaratish zaruratini yo'q qiladi. dan foydalanishingiz mumkin Yo'l bering uchun kalit so'z ko'rsatish u ishlatilgan usul yoki get accessor iterator ekanligini.

Bundan tashqari, rentabellik qanday ishlaydi?

Siz a rentabellik uchun bayonot qaytish har bir element bir vaqtning o'zida. Qachon a rentabellik bayonotga iterator usulida erishiladi, ifoda hisoblanadi qaytdi , va koddagi joriy joy saqlanib qoladi. Keyingi safar iterator funksiyasi chaqirilganda, bajarilish shu joydan qayta boshlanadi.

Yeld kalit so'zidan qanday foydalaniladi?

MSDN dan iqtibos. Iterator blokida hosil kalit so'zi qaytish bilan birga ishlatiladi kalit so'z hisoblagich obyektiga qiymat berish. Bu, masalan, foreach bayonotining har bir tsiklida qaytariladigan qiymat. The hosil kalit so'zi iteratsiya tugashini bildirish uchun tanaffus bilan ham ishlatiladi."

Tavsiya: