14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

л<strong>е</strong>п<strong>е</strong>шки и л<strong>е</strong>сорубы<br />

Б<strong>е</strong>ссмыслица какая-то... А что<br />

я могу сд<strong>е</strong>лать со ст<strong>е</strong>ком и оч<strong>е</strong>р<strong>е</strong>дью такого,<br />

ч<strong>е</strong>го н<strong>е</strong> могу сд<strong>е</strong>лать с объ<strong>е</strong>ктами List? Они вс<strong>е</strong>го<br />

лишь позволяют сд<strong>е</strong>лать код на пару строк короч<strong>е</strong>.<br />

При том, что я н<strong>е</strong> им<strong>е</strong>ю доступа к их ср<strong>е</strong>дним<br />

эл<strong>е</strong>м<strong>е</strong>нтам. Ну и зач<strong>е</strong>м таки<strong>е</strong> огранич<strong>е</strong>нны<strong>е</strong><br />

объ<strong>е</strong>кты могут мн<strong>е</strong> понадобиться?<br />

Заполним ст <strong>е</strong>к ч<strong>е</strong>тырьмя<br />

ст роками.<br />

^<br />

Н<strong>е</strong> волнуйт<strong>е</strong>сь, вам н<strong>е</strong> прид<strong>е</strong>тся ни в ч<strong>е</strong>м с<strong>е</strong>бя ограничивать.<br />

С ко п и р о в а ть объ<strong>е</strong>кт Q ueue в о б ъ <strong>е</strong> кт L i s t о ч <strong>е</strong> н ь л <strong>е</strong>гко . Так ж <strong>е</strong> л <strong>е</strong> гко , как ско ­<br />

п и р о в а ть об ъ <strong>е</strong> кт L i s t в объ<strong>е</strong>кт Q ueue, а объ<strong>е</strong>кт Q ueue в объ<strong>е</strong>кт S ta c k ... бол<strong>е</strong><strong>е</strong><br />

т о го , в ы м ож <strong>е</strong>т<strong>е</strong> создать о б ъ <strong>е</strong> кты L i s t , Q ueue и S ta c k из л ю б о го д р уго го<br />

объ<strong>е</strong>кта, р<strong>е</strong>ализую щ и<strong>е</strong> и н т<strong>е</strong> р ф <strong>е</strong> й с lE n u m e r a b le . Д о с та то ч н о воспользоваться<br />

п <strong>е</strong> р <strong>е</strong> гр уж <strong>е</strong> н н ы м ко н с тр у к т о р о м , к о т о р ы й позволя<strong>е</strong>т п<strong>е</strong>р<strong>е</strong>давать к о п и р у <strong>е</strong> ­<br />

м ую ко л л <strong>е</strong> к ц и ю в кач<strong>е</strong>ств<strong>е</strong> парам <strong>е</strong>тра. То <strong>е</strong>сть вы м ож <strong>е</strong>т<strong>е</strong> л <strong>е</strong> гко пр<strong>е</strong>дстави ть<br />

св о и д анны <strong>е</strong> в вид<strong>е</strong> к о л л <strong>е</strong> к ц и и , ко то р а я м аксим ально соотв <strong>е</strong> тству<strong>е</strong> т ваш им<br />

нуждам. (Н о н<strong>е</strong> забы вайт<strong>е</strong>, ч т о п р и к о п и р о в а н и и вы созда<strong>е</strong>т<strong>е</strong> н о в ы й объ<strong>е</strong>кт,<br />

к о т о р ы й буд<strong>е</strong>т заним ать м <strong>е</strong>сто в п ам я ти .)<br />

Stack myStack = new Stack();<br />

myStack. Push ("first in line"); С т <strong>е</strong> к м о ж н о л<strong>е</strong>гко<br />

myStack. Push ("second in line");<br />

зат <strong>е</strong>м<br />

пйлть<br />

т р а н с ф о р м и р о в а т ь<br />

myStack. Push ("third in line"); g , e в о б ъ <strong>е</strong> к т list, в<strong>е</strong>рнут ь<br />

myStack.Push("last in line"),<br />

в с„т»яни<strong>е</strong> ст<strong>е</strong>к». ^<br />

Queue myQueue = new Queue(myStack);<br />

List myList = new List(myQueue);<br />

Stack anotherStack = new Stack(myList);<br />

MessageBox.Show("myQueue has " + myQueue.Count + " items\n"<br />

+ "myList has " + myList.Count + " items\n"<br />

+ "anotherStack has " + anotherStack.Count + " items\n");<br />

B M « « я р <strong>е</strong><br />

Sam cKonupo«»<br />

б новы<strong>е</strong> колд<strong>е</strong>кцим.<br />

m y Q u e u e h a s 4 item s<br />

m yL ist h as 4 item s<br />

a n o th e rS ta c k h a s 4 item s<br />

...Д Л Я д о с т у п а ко в с <strong>е</strong> м<br />

ч л <strong>е</strong> н а м о ч <strong>е</strong> р <strong>е</strong> д и и л и с т <strong>е</strong> к а<br />

д о с т а т о ч н о в о с п о л ь з о в а т ь с я<br />

ц и к л о м ^ г <strong>е</strong> а с И !<br />

392 глава 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!