14.02.2017 Views

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

свой пар<strong>е</strong>нь <strong>Дж</strong>имми<br />

Д}кимми изрядно сэкономил<br />

К а ж <strong>е</strong> тся, Д ж и м м и заклю ча<strong>е</strong>т в ы го д н ую сд<strong>е</strong>лку. О н создал с п и с о к классов P urchase, в к о то р о м п<strong>е</strong>р<strong>е</strong>ч<br />

и сл <strong>е</strong> н ы <strong>е</strong>го п о к у п к и и ср а в н и л <strong>е</strong>го с ц<strong>е</strong>нам и из каталога Гр<strong>е</strong>га.<br />

О<br />

О<br />

Сначала Д ж и а л м и создал дополнит<strong>е</strong>льную колл<strong>е</strong>кцию<br />

О н использовал свой с та р ы й м<strong>е</strong>тод B u i l d C a t a l o g (). Д ж и м м и осталось то л ь к о н а п и ­<br />

сать м <strong>е</strong>тод F i n d P u r c h a s e s {) и п о с т р о и т ь к о л л <strong>е</strong> кц и ю классов Purchase.<br />

s t a t i c I E n u m e r a b le < P u r c h a s e > F i n d P u r c h a s e s () {<br />

L i s t < P u r c h a s e > p u r c h a s e s = ne w L i s t < P u r c h a s e > () {<br />

n e w P u r c h a s e 0 { I s s u e = 6 8 , P r i c e = 225M } ,<br />

new P u r c h a s e 0 { I s s u e = 1 9 , P r i c e = 375M } ,<br />

ne w P u r c h a s e 0 { I s s u e = 6, P r i c e = 36 0 0 M } ,<br />

n e w P u r c h a s e 0 { I s s u e = 5 7 , P r i c e = 13 2 1 5 M<br />

n e w P u r c h a s e 0 { I s s u e = 3 6 , P r i c e = 660M } ,<br />

} ;<br />

r e t u r n p u r c h a s e s ;<br />

}<br />

Вс<strong>е</strong> готово для слияния!<br />

3a выпуск * S 7<br />

W ^ z x s .<br />

Ч а сть э т о го запроса вы уж <strong>е</strong> вид<strong>е</strong>ли. О ста лось д обавить к н<strong>е</strong>м у н <strong>е</strong> д о ста ю щ и й<br />

кусок.<br />

J<br />

IE n u m e r a b le < C o m ic > c o m ic s = B u i l d C a t a l o g ( ) ;<br />

D i c t i o n a r y < i n t , d e c i m a l> v a l u e s = G e t P r i c e s O ;<br />

I E n u m e r a b le < P u r c h a s e > p u r c h a s e s = F i n d P u r c h a s e s ()<br />

v a r r e s u l t s =<br />

f r o m c o m ic i n c o m ic s<br />

j o i n p u r c h a s e i n p u r c h a s e s<br />

o n c o m i c . l s s u e e q u a ls p u r c h a s e . I s s u e<br />

o r d e r b y c o m i c . l s s u e a s c e n d in g<br />

s e l e c t ne w { c o m ic .N a m e , c o m i c . l s s u e , p u r c h a s e . P r i c e } ;<br />

d,oimal ,re,sLl,tVal„, = 0;<br />

d e c i m a l t o t a l S p e n t = 0 ;<br />

f o r e a c h ( v a r r e s u l t i n r e s u l t s ) ,<br />

g r e g s L i s t V a l u e += v a l u e s [ r e s u l t . I s s u e ] ;<br />

t o t a l S p e n t + = r e s u l t . P r i c e ;<br />

C o n s o l e . W r i t e L i n e ( " В ы п у с к #{0} ({!}) к у п л <strong>е</strong> н з а {2:с}",<br />

r e s u l t . I s s u e , r e s u l t . N a m e , r e s u l t . P r i c e ) ;<br />

Пр<strong>е</strong>длож<strong>е</strong>ни<strong>е</strong> join иницииру<strong>е</strong>т<br />

сравн<strong>е</strong>ни<strong>е</strong> каждого эл<strong>е</strong>м<strong>е</strong>нта из<br />

колл<strong>е</strong>кции comics с э л <strong>е</strong> м <strong>е</strong> н т а м и<br />

колл<strong>е</strong>кции purchases для поиска<br />

т<strong>е</strong>к, у которых comic.lssue<br />

соВпада<strong>е</strong>т с purchase.Issue.<br />

n p eJA O X « » select cosl^ em<br />

C o n s o l e . W r i t e L i n e (" Я п о т р а т и л {0:c} н а к о м и к с ы , с т о я щ и <strong>е</strong> {l:c}<br />

t o t a l S p e n t , g r e g s L i s t V a l u e ) ;<br />

<strong>Дж</strong>имми счастлив,<br />

что он зна<strong>е</strong>т<br />

иЫ 0, так как<br />

это позволило<br />

<strong>е</strong>му подсчитать,<br />

сколько ж<strong>е</strong> он<br />

сэкономил.<br />

688 глава 15<br />

Р<strong>е</strong>зультат:<br />

знач<strong>е</strong>ни<strong>е</strong>м Price от чл<strong>е</strong>на purchase.<br />

В ы п у с к #6 ( J o h n n y A m e r i c a vs. t h e Pinko) к у п л <strong>е</strong> н з а $ 3 , 6 0 0 . 0 0<br />

В ы п у с к #19 (Rock a n d R o l l ( l i m i t e d e d i t i o n ) ) к у п л <strong>е</strong> н з а $ 3 7 5 . 0 0<br />

В ы п у с к #36<br />

В ы п у с к #57<br />

( W o m a n ' s W o rk) к у п л <strong>е</strong> н з а $ 6 6 0 . 0 0<br />

( H i p p i e M a d n e s s ( m i s p r i n t e d ) ) к у п л <strong>е</strong> н з а $ 1 3 , 2 1 5 . 0 0<br />

В ы п у с к #68 ( R e v e n g e o f t h e N e w W a v e F r e a k ( d a m a g e d ) ) к у п л <strong>е</strong> н за<br />

$ 2 2 5 . 0 0<br />

Я п о т р а т и л $18,075.00 на комиксы, стоящи<strong>е</strong> $18,525.00

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

Saved successfully!

Ooh no, something went wrong!