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>м отсюда<br />

инициализаторы колл<strong>е</strong>кций<br />

C # п озволя<strong>е</strong>т ум <strong>е</strong> н ь ш и ть к о л и ч <strong>е</strong> ств о в в о д и м о го т<strong>е</strong> кста п р и создании ко л л <strong>е</strong> кц и и . В ы м ож <strong>е</strong>т<strong>е</strong> в оспользоваться<br />

и н и ц и а л и з а т о р о м к о л л <strong>е</strong> к ц и й ( c o lle c t io n in itia liz e r ), к о т о р ы й добавля<strong>е</strong>т эл<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>т<br />

объ<strong>е</strong>кт List и заполня<strong>е</strong>т<br />

к / <strong>е</strong>го объ<strong>е</strong>ктами Shoe.<br />

Llst shoeCloset = new List();<br />

shoeCloset.Add(new ShoeO { Style = Style.Sneakers, Color = "Ч<strong>е</strong>рный" });<br />

shoeCloset.Add(new ShoeO { Style = Style.Clogs, Color = "Коричн<strong>е</strong>вый" });<br />

shoeCloset.Add(new ShoeO { Style = Style.Wingtips, Color = "Ч<strong>е</strong>рный" });<br />

shoeCloset.Add(new ShoeO { Style = Style.Loafers. Color = "Б<strong>е</strong>лый" });<br />

shoeCloset.Add(new ShoeO { Style = Style.Loafers, Color = "Красный" });<br />

shoeCloset.Add(new ShoeO { Style = Style.Sneakers, Color = "З<strong>е</strong>л<strong>е</strong>ный" });<br />

Обратит<strong>е</strong> внимани<strong>е</strong>:<br />

каждому объ<strong>е</strong>кту Shoe<br />

присваива<strong>е</strong>тся начально<strong>е</strong><br />

знач<strong>е</strong>ни<strong>е</strong> при помощи<br />

инициализатора.<br />

Инициализатор колл<strong>е</strong>кции<br />

мож<strong>е</strong>т быть создан добавл<strong>е</strong>ни<strong>е</strong>м<br />

каждого получ<strong>е</strong>нного<br />

при помощи м<strong>е</strong>тода AddQ<br />

эл<strong>е</strong>м<strong>е</strong>нта к оп<strong>е</strong>ратору,<br />

формирующ<strong>е</strong>му колл<strong>е</strong>кцию.<br />

За оп<strong>е</strong>ратором<br />

создания колл<strong>е</strong>кции<br />

сл<strong>е</strong>дуют<br />

фигурны<strong>е</strong> скобки,<br />

о которых находятся<br />

разд<strong>е</strong>л<strong>е</strong>нны<strong>е</strong><br />

запятыми<br />

оп<strong>е</strong>раторы new.<br />

List shoeCloset =<br />

y new ShoeO { Style<br />

new ShoeO { Style<br />

/ new ShoeO { Style<br />

/ new ShoeO { Style<br />

{ new ShoeO { Style<br />

\ n e w ShoeO { Style<br />

new List() {<br />

= Style.Sneakers, Color = "Ч<strong>е</strong>рный" },<br />

= Style.Clogs, Color = "Коричн<strong>е</strong>вый" },<br />

= Style.Wingtips, Color = "Ч<strong>е</strong>рный" },<br />

= Style.Loafers. Color = "Б<strong>е</strong>лый" },<br />

= Style.Loafers. Color = "Красный" },<br />

= Style.Sneakers, Color = "З<strong>е</strong>л<strong>е</strong>ный" },<br />

} :<br />

Инициализатор<br />

мож<strong>е</strong>т сод<strong>е</strong>ржать<br />

н<strong>е</strong> только<br />

набор оп<strong>е</strong>раторов<br />

newJ но<br />

и п<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 />

с добавл<strong>е</strong>ни<strong>е</strong>м начального набора эл<strong>е</strong>м<strong>е</strong>нтов.<br />

356 глава 8

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

Saved successfully!

Ooh no, something went wrong!