. Стиллмен, Дж. Грин - Изучаем 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 />
Обобщ<strong>е</strong>нны<strong>е</strong> колл<strong>е</strong>кции<br />
Вы уж<strong>е</strong> вид<strong>е</strong>ли, что колл<strong>е</strong>кция мож<strong>е</strong>т состоять как из<br />
строк, так и из ботинок. Можно пом<strong>е</strong>стить туда ц<strong>е</strong>лы<strong>е</strong><br />
числа или произвольны<strong>е</strong> созданны<strong>е</strong> вами объ<strong>е</strong>кты.<br />
Им<strong>е</strong>нно поэтому класс L i s t явля<strong>е</strong>тся обобщ <strong>е</strong>нной<br />
колл<strong>е</strong>кци<strong>е</strong>й. В мом<strong>е</strong>нт <strong>е</strong>го создания нужно указать<br />
тип знач<strong>е</strong>ний, которы<strong>е</strong> могут храниться внутри.<br />
Эта запись н<strong>е</strong> означа<strong>е</strong>т, что вы добавля<strong>е</strong>т<strong>е</strong> букву Т.<br />
Она вс<strong>е</strong>го лииль показыва<strong>е</strong>т, что класс или инт <strong>е</strong>рф<strong>е</strong>йс<br />
мож<strong>е</strong>т работать со знач<strong>е</strong>ниями любого типа,<br />
(достаточно указать этот тип в скобках). Запись<br />
List означа<strong>е</strong>т, что колл<strong>е</strong>кция сод<strong>е</strong>ржит<br />
только эл<strong>е</strong>м<strong>е</strong>нты класса Shoe.<br />
_<br />
List name = new List()<br />
Класс<br />
KUM (^озволяю<br />
List<br />
и^м людш m<br />
оч<strong>е</strong>нь<br />
^ Т м о Т у т ^ а с с и в ы (плюс eu,e ко<strong>е</strong>-что).<br />
В .NET Framework сущ<strong>е</strong>ствуют обобщ<strong>е</strong>нны<strong>е</strong> инт<strong>е</strong>р)-<br />
ф<strong>е</strong>йсы, позволяющи<strong>е</strong> созданным вами колл<strong>е</strong>кциям<br />
работать с любыми типами. Класс L i s t р<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>й объ<strong>е</strong>ктов класса Shoe.<br />
Уб<strong>е</strong>дит<strong>е</strong>сь самостоят<strong>е</strong>льно. Наб<strong>е</strong>рит<strong>е</strong> L i s t в ИСР,<br />
щ<strong>е</strong>лкнит<strong>е</strong> правой кнопкой мыши и выб<strong>е</strong>рит<strong>е</strong> команду<br />
Go То Définition. Вы увидит<strong>е</strong> объявл<strong>е</strong>ни<strong>е</strong><br />
класса L i s t . Он р<strong>е</strong>ализу<strong>е</strong>т н<strong>е</strong>сколько инт<strong>е</strong>рф<strong>е</strong>йсов:<br />
Отсюда б<strong>е</strong>рутся<br />
м<strong>е</strong>тоды RemoveAtÇj,<br />
IndexOfO w InsertQ.<br />
c l a s s L i s t < ' ^ :<br />
^ C o l 1 e с t io n < T > b<br />
fL ist< T ^ ^<br />
ÊEnum eraEXë> I L i s t ,<br />
Г I C o l l e c t i o n , l E n u m e r a b le ^<br />
0 означа<strong>е</strong>т, что в<br />
колл<strong>е</strong>кции L i s t могут храниться только<br />
объ<strong>е</strong>кгы класса F ro g .<br />
М<strong>е</strong>тод In d e x O f () опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>т инд<strong>е</strong>кс<br />
для заданного объ<strong>е</strong>кта.<br />
Узнать колич<strong>е</strong>ство эл<strong>е</strong>м<strong>е</strong>нтов класса L i s t<br />
можно при помощи свойства Count.<br />
М<strong>е</strong>тод C o n t a in s () пров<strong>е</strong>ря<strong>е</strong>т<br />
колл<strong>е</strong>кцию на наличи<strong>е</strong> объ<strong>е</strong>ктов.<br />
fo r e a c h — это цикл, п<strong>е</strong>р<strong>е</strong>бирающий<br />
эл<strong>е</strong>м<strong>е</strong>нты колл<strong>е</strong>кции и выполняющий<br />
для каждого указанный код. Его<br />
синтаксис: fo r e a c h ( s t r i n g s<br />
i n S t r i n g L i s t ) . Вам н<strong>е</strong> нужно<br />
заботиться об инкр<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 />
352 глава 8