. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
сопоставь что угодно ч<strong>е</strong>му угодно<br />
Функциональность слобар<strong>е</strong>й<br />
С ловари во м н о го м н а п о м и н а ю т ко л л <strong>е</strong> кц и и . О н и ги б к и , п о зволяю т вам работа ть с д а н н ы м и<br />
п р о и з в о л ь н о го т и п а и и м <strong>е</strong> ю т м н о ж <strong>е</strong> ство в с тр о <strong>е</strong> н н ы х ф ун кц и й . Р ассм отрим о с н о в н ы <strong>е</strong> м <strong>е</strong>тод<br />
ы класса D i c t i o n a r y :<br />
^Добавл<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>тоду Add о .<br />
D i c t i o n a r y < s t r i n g , s t r i n g > m y D ic t io n a r y = new D i c t i o n a r y < s t r x n g , s t r i n g > { ) ;<br />
m y D ic t i0n ary.A dd(" K aK 0Ü -T0 ключ", " к а к о <strong>е</strong> -т о з н а ч <strong>е</strong> н и <strong>е</strong> " );<br />
^Поиск знач<strong>е</strong>ния по ключу.<br />
Самым важным при работ<strong>е</strong> со словар<strong>е</strong>м явля<strong>е</strong>тся просмотр знач<strong>е</strong>ний — собств<strong>е</strong>нно,<br />
за этим вы их там и хранит<strong>е</strong>. Для словаря D i c t lo n a r y < s t r in g , s t r i n g > ДОСТуП<br />
К знач<strong>е</strong>нию осущ<strong>е</strong>ствля<strong>е</strong>тся по ключу типа string, возвраща<strong>е</strong>т он так ж<strong>е</strong> строку.<br />
s t r i n g lo o k u p V a lu e = m y D ic t io n a r y [" к а к о й -т о к л ю ч " ];<br />
^Удал<strong>е</strong>ни<strong>е</strong> эл<strong>е</strong>м<strong>е</strong>нтов.<br />
Как и при работ<strong>е</strong> с объ<strong>е</strong>ктами L i s t , для удал<strong>е</strong>ния из словаря использу<strong>е</strong>тся м<strong>е</strong>тод<br />
Remove о . Достаточно п<strong>е</strong>р<strong>е</strong>дать <strong>е</strong>му ключ, как сам ключ и знач<strong>е</strong>ни<strong>е</strong> будут удал<strong>е</strong>ны.<br />
m y D ic t io n a r y . Remove (" к а к о й -т о к л ю ч " ); ^оизвольно<strong>е</strong>Толич<strong>е</strong>с^^^ 'лвчм<br />
♦получ<strong>е</strong>ни<strong>е</strong> списка ключ<strong>е</strong>й.<br />
Свойство K eys в комбинации с циклом f o r e a c h позволя<strong>е</strong>т получить п<strong>е</strong>р<strong>е</strong>ч<strong>е</strong>нь ключ<strong>е</strong>й<br />
словаря.<br />
f o r e a c h ( s t r i n g k e y i n m y D ic t io n a r y .K e y s ) { . . . } ;<br />
— ^ Клю чи о т н о с я т с я к свойствам словаря, ß рассматри-<br />
★ П о д с ч <strong>е</strong> т п а р . ^ ва<strong>е</strong>мом случа<strong>е</strong> они принадл<strong>е</strong>жат типу string, поэтому<br />
_ э т о набор строк.<br />
Свойство C ount возвраща<strong>е</strong>т число пар «ключ-знач<strong>е</strong>ни<strong>е</strong>», им<strong>е</strong>ющихся в словар<strong>е</strong>:<br />
int howMany = myDictionary.Covmt;<br />
Ключ u знач<strong>е</strong>ни<strong>е</strong> м огут принадл<strong>е</strong>)кать разным типам<br />
С л овари ф а к ти ч <strong>е</strong> ски ун и в<strong>е</strong>рса л ьн ы и м о гут сод<strong>е</strong>рж ать зн а ч <strong>е</strong> н и я л ю б ы х т и п о в (о т с т р о к до о б ъ <strong>е</strong>ктов).<br />
В о т п р и м <strong>е</strong> р словаря, в к о то р о м к л ю ч и о тн о с я тс я к т и п у in t, а знач<strong>е</strong>ния — к объ<strong>е</strong>ктам D u cli.<br />
D i= t i o n a r y < i n t , Duck> d u c k D ic t io n a r y = new D i c t i o n a r y < i n t , D u c k X ) ,<br />
u объ<strong>е</strong>кты, исполь- d u c k D ic t io n a r y .A d d (3 7 6 , new D uckO<br />
зуются в случаях { Kind = KindOf Duck. Mallard, Size = 15 >) ;<br />
присво<strong>е</strong>ния объ<strong>е</strong>ктам<br />
=> s ' •<br />
уникальных ид<strong>е</strong>нтификаторов.<br />
376 глава 8