Books / 3_C#_2005_для_чайников_(Дэвис-2008)
.pdfИспользование необобщенных коллекций
Коллекции легче применять, чем массивы. Для этого нужно инстанцировать объект коллекции, добавить в него элементы и итеративно работать с ними (для этого лучше всего воспользоваться циклом f o r e a c h ) . Приве денная дальше демонстрационная программа иллюстрирует эту последо вательность действий.
// N o n g e n e r i c C o l l e c t i o n s |
д е м о н с т р а ц и я и с п о л ь з о в а н и я |
||||||||
// классов |
к о л л е к ц и й |
|
|
|
|
|
|||
using |
System; |
|
|
|
|
|
|
||
using |
S y s t e m . C o l l e c t i o n s ; |
|
|
|
|
|
|||
namespace |
|
N o n g e n e r i c C o l l e c t i o n s |
|
|
|
||||
( |
|
|
|
|
|
|
|
|
|
public |
c l a s s P r o g r a m |
|
|
|
|
|
|||
{ |
|
|
|
|
|
|
|
|
|
// |
Демонстрация |
A r r a y L i s t , |
S t a c k , |
Queue |
и |
H a s h t a b l e |
|||
p u b l i c |
s t a t i c v o i d M a i n ( s t r i n g [ ] |
a r g s ) |
|
|
|||||
{ |
|
|
|
|
|
|
|
|
|
|
/ / A r r a y L i s t |
|
|
|
|
|
|
||
|
// |
|
|
|
|
|
|
|
|
|
/ / |
И н с т а н ц и р о в а н и е A r r a y L i s t (вы можете |
у к а з а т ь |
||||||
|
// |
н а ч а л ь н ы й |
р а з м е р , |
но |
можете |
э т о г о |
и |
не д е л а т ь ) |
|
A r r a y L i s t a L i s t W i t h S p e c i f i e d S i z e |
= |
new |
A r r a y L i s t ( 1 0 0 0 ) ; |
|||||||||||
|
A r r a y L i s t |
|
a L i s t |
= |
new |
A r r a y L i s t ( ) ; |
/ / |
|
р а з м е р n o |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
// |
|
умолчанию (16) |
|
|
a L i s t . A d d ( " o n e " ) ; |
/ / Д о б а в л е н и е в к о н е ц с п и с к а |
|||||||||||||
|
a L i s t . A d d ( " t w o " ) ; |
// В с п и с к е - " o n e " , " t w o " |
|||||||||||||
|
a L i s t . A d d ( " t h r e e " ) ; // В с п и с к е - " o n e " , " t w o " , " t h r e e " |
||||||||||||||
|
C o n s o l e . W r i t e L i n e ( " { 0 } |
i t e m s |
i n t h e A r r a y L i s t : " , |
||||||||||||
|
|
|
|
|
|
|
a L i s t . C o u n t ) ; |
|
|
|
|
|
|||
|
// Цикл |
с |
и с п о л ь з о в а н и е м |
f o r e a c h |
|
|
|
|
|
||||||
|
f o r e a c h ( s t r i n g |
|
s i n a L i s t ) |
|
|
|
|
|
|
||||||
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// |
Выводим |
с т р о к у и |
ее |
и н д е к с |
в A r r a y L i s t |
|||||||||
|
C o n s o l e . W r i t e L i n e ( s + " в ( { о } ) " , |
a L i s t . I n d e x O f ( s ) ) ; |
|||||||||||||
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/ / S t a c k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/ / И н с т а н ц и р у е м с т е к |
|
|
|
|
|
|
|
|
||||||
|
S t a c k |
s t a c k = |
new |
S t a c k ( ) ; |
|
|
|
|
|
|
|||||
|
// Вносим |
э л е м е н т ы |
в |
с т е к |
и |
снимаем |
с |
н е г о |
один |
||||||
|
/ / э л е м е н т |
|
|
|
|
|
|
|
|
|
|
|
|||
|
s t a c k . P u s h ( " o n e " ) ; |
|
|
|
|
|
|
|
|
|
|||||
|
s t a c k . P u s h ( " t w o " ) ; |
|
/ / " t w o " , " o n e " |
|
|
|
|
||||||||
|
s t a c k . P u s h ( " t h r e e " ) ; |
/ / " t h r e e " , " t w o " , " o n e " |
|||||||||||||
|
C o n s o l e . W r i t e L i n e ( " { 0 } э л е м е н т о в в с т е к е : |
" , |
|||||||||||||
|
|
|
|
|
|
|
s t a c k . C o u n t ) ; |
|
|
|
|
|
|||
|
f o r e a c h |
( s t r i n g s |
i n s t a c k ) |
|
|
|
|
|
|
||||||
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C o n s o l e . W r i t e L i n e ( s ) ; |
|
|
|
|
|
|
|
|||||||
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(ma |
15. |
Обобщенное |
программирование |
|
|
|
|
341 |