This print for content only-size & color not accurate 7" X 9-1/4" / casebound / malloy


// Get items using GetEnumerator()



Download 21,46 Mb.
Pdf ko'rish
bet586/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   582   583   584   585   586   587   588   589   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

// Get items using GetEnumerator().

foreach (Car c in carLot)

{

Console.WriteLine("{0} is going {1} MPH",



c.PetName, c.Speed);

}

Console.WriteLine();



C H A P T E R   9  

W O R K I N G   W I T H   I N T E R FA C E S



293

8849CH09.qxd  10/1/07  10:41 AM  Page 293




// Get items (in reverse!) using named iterator.

foreach (Car c in carLot.GetTheCars(true))

{

Console.WriteLine("{0} is going {1} MPH",



c.PetName, c.Speed);

}

Console.ReadLine();



}

Named iterators are helpful constructs, in that a single custom container can define multiple

ways to request the returned set.

Internal Representation of an Iterator Method

When the C# compiler encounters an iterator method, it will dynamically generate a nested class

definition within the scope of the defining type (Garage in this case). The autogenerated nested

class implements the GetEnumerator(), MoveNext(), and Current members on your behalf (oddly,

the Reset() method is not, and you will receive a runtime exception if you attempt to call it). If you

were to load the current application into ildasm.exe, you would find two nested types, each of

which accounts for the logic required by a specific iterator method. Notice in Figure 9-10 that these

compiler-generated types have been named d__0 and d__5.



Figure 9-10.

Iterator methods are internally implemented with the help of an autogenerated

nested class.

If you used ildasm.exe to view the implementation of the GetEnumerator() method of the

Garage type, you’d find that it has been implemented to make use of the d__0 type

behind the scenes (the nested d__5 type is used by the GetTheCars() method in a simi-

lar manner).

.method public hidebysig instance class

[mscorlib]System.Collections.IEnumerator


Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   582   583   584   585   586   587   588   589   ...   1830




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish