Добавил:
2200 7008 9480 6099 TKFF БЛАГОДАРНОСТЬ МОЖНО ТУТ ОСТАВИТЬ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМ 2025 / 4 курса_МТУСИ / 1 КУРС / Информатика / С# для чайников - Мюллер.pdf
Скачиваний:
0
Добавлен:
04.06.2025
Размер:
53.3 Mб
Скачать

Обобщенность в С#

щ',

-'1<#,

.# -,s.-'

,:,з,:,зa#--

,:,),(

p,-,:,-,1Y1

,_'l1<'l-

,,#

,з#-,:,',-,:,),(-

'l

,_,:'l-,,:,'l),(#,--

,:,),(

 

 

 

 

 

 

 

Обобщенные классы безопасны

 

l-s:,!!nn !!!.i!.i!!t !! !,!DA!

,;!!-i!!

!,MA!B

!!!

!!AA!Nt

!,!,d!!

 

!,P,;! ! A!!

Nd!A!!B!.i,iП!.i!!

e!, Пloi!, !!!.i!.i!!

A! !,D!!

Nd!A!!

A!

 

M!P,i!d,!! Пlo!!! !d,;P!NM!!.i!,!!N

!!!,!

!,!,d!!

it

! !.i,!.i!,nA!!

ЗАПОМНИ!

A!,!A, !d!,-d!-i,!!!

!

loП!.i!! !!

!,!!!!!!!!.i

 

!,!!!.i!!!B

!

!!!.i

 

!.i!!

!!AA!!

A!!!dA,a,

!!!!В

 

!, !,!,;M!!!

,! !,!!!!,!,d!

!.i,,-e!A!!

 

,- ,d!-!!

Н!!!! ,-d!-i,!

!,!!!!,!,d

,-!!.i!!M!!!!!

eir! kLWA!WByf

 

BEk!S !o! !! ,-A!d,;D!!!!!!

! !!.i!d!!!,!!!

!d,-!!!,;

!e!

!,

!,P,В

 

!!!

,A! !d,n!!!!.ind

 

 

 

 

 

 

 

 

 

 

,d!-i!,

!,;Md! !,!,;M!!

d!!.i!.i!d!-,!!

!d,Pd!!!!Дж

!.ini! M!! ,;!!!.i !d,-!!!!o

С

!.i,,-e!A!!

,- ,d!-!!

,d!-!!

!,!!!!nd!!

,! !,! !!!,!,d!t

!,-i!,!n!!

!d,e!

M!! d!-i,

! !d,n -d!!

 

i!!d!!

 

A!,-,-e!AA!!

!,!!!!d!!

 

A!-!-i,!!!.iA!o o it

!!d!!!AA!n

 

!E-,P,

!!!!

 

o

ПНi

Wot!,!.i!,!

!,;

!!!!.i!.i

 

 

Wo,!!,!!!.i,

 

-!-i,!!!

 

!!

!!.i!.i,!

!!n

!!.i!N !d,;P!N!!!,!t

!!!

!!!,!

-iA!M!A!BВ!!! !

ЗАПОМНИ!

!!!,!

!.i!.i!!,!

l!A!!,

!,P!! !!

!.i,Nd!A,!!! BEkWЗrALВiAEz

M!!.i!!t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мe

iiА to

 

too!

!,!!!!d!!t

,A! !,!DA!

 

-!!B

ikLc !S

W!d!

 

!,!!e!A!!

 

! A!! ! NLWkLc!SLAW!d!

!-i!!!M!A!!

!-i

A!!i

i!.i!!,MA!!

 

!!!!В

!!!!!

!!!

to

tВlИottWlo!

el

itloi

,;!!!

!!!

d!!.i!!!,!

!! A! !d!-,;E!i

 

n!d!,!

!.i,

! !,!В

!.i!!!!.i!!!!

M!, !!!

!d!-

A!-!-i,!!!.iA,!.i!!

,;

!!.in!d!!!!!A!!

A!,-,- !!!,!

e!AA!N !!!!.i!.i,!

!

!!!!,!!-i!A,

-i!!! EM!!!n !.i!!!,;Ee!!

pnn

ПDite О Se!!,d E! ! ! !, ,! !!, !!!d !! aR

фрагменте исходного текста)

для получения исходного объекта из бммйфн<тв:n

так как этот тип скрыт внутри шдtьзвьn

 

 

 

 

 

 

rххш

г:

шг: .

им,

rххш

кт:

н тV

 

. . .

 

 

 

 

цц

х1 :имг

6

 

 

­

 

>аио

 

:

 

 

 

х : им1з

 

 

х:1имem ииотавтб

 

й , e еж цц

 

 

 

 

 

 

 

Второе следствие в том, что в бммйфнртвnлHтл, 4lРlттл

могут хра­

 

 

ниться л­glre(

 

4)vт(ю e2зл,в

То есть вы можете написать, напри­

ирсtрсорВ

мер, такой исходный текст:

 

 

 

 

 

 

rххш

г:

ши:

 

.

им,

rххш

и:

н

тV

 

 

 

 

 

 

 

 

 

 

 

 

 

ши

:

, r,,

н нш

 

 

х:имт

1Vо цц

:им

х1

:им

 

 

 

 

 

 

шг:

 

к r,

, н

 

 

т V

цц

,,им

 

 

 

 

 

 

шг:

 

. r,,

нш6

,,им

цц

6

 

 

 

 

Однако если вы поместите в бммйфнртвn(или другую необобщенную коллек­

цию) объекты разных несовместимых типов, то как вы потом сможете узнать

тип,

например, третьего элемента? Если это неDнеае,nа вы попытаетесь преоб­

разовать его в твлра.snто получите ошибку времени выполнения программы.

 

 

Для безопасности следует производить проверку с использованием

 

 

оператора ртn(рассматривается в части 2, "Объектно-ориентирован­

гь­р стьцчьВ

ное программирование на С#") или альтернативного оператора й т n

следующим образом:

 

 

 

 

 

 

 

 

шaдraбр

aцг сВ

 

 

 

 

 

 

 

 

 

 

цц

ншг:

l : К

:

6

 

 

 

D

 

 

D

 

цц

­ 6

к к .

 

 

: -

 

 

,,имт

 

 

 

 

,,имl

 

 

 

6

 

,,имш6

 

,,им

чm . 6

,,им

т шг:

l : ЛW

ц ц

D

.

 

 

цц

,,им

ш6

,,им

 

 

аmшг:

r : К

ш

6

,,им

V

и

6

. . ,

 

 

6

им

ц ц

,,им .

 

 

: -

нш6

,,им

и ,

r rт

 

 

 

 

 

ц ц

 

й

 

 

 

цц

:

 

 

 

 

 

 

ш6

,, им .

 

цц

имr r .

 

 

 

 

 

 

 

 

 

 

 

 

 

Избавиться от лишней работы можно с помощью обобщенных классов.

Обобщенные коллекции работают, как и массивы: вы определяете один и толь­

ко один тип,

который может храниться в коллекции при ее объявлении.

Обобщенные классы эффективны

 

 

 

 

 

Полиморфизм позволяет типу шд,nезвnхранить такое удобство приходится платить упаковкой и (числа, зчймcnдииiртnемDзеяnпри размещении их

любой другой тип. Однако за распаковкой типов-значений в необобщенных коллекциях

ГЛАВА 8

Обобщенность 201

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

Создани соб(твенного обобщенного класса

 

t"1,'l,"1

,,),(()"1#((,1Y1 "1,з"1,з #((,1Y1

n,',,"1,

n"1,,#n_'l.k\

 

lП ,"1-,"1,,:#),(

,'l,'),(_

 

,"1,з,),(,#((,#

 

"1,з"1,з #((,#

1),',,,

 

n'n n"1,,#n_'l'lk\

),('n

'l _()_JJ'l#

),('l,,

 

n,',,"1,w

 

,',("1#k\

1<),("1

,,

'l,##),(# ,"1-,"1.("1,),(_

,"1-_'),(_

"1,з"1,з #((,#

 

,#(),'l'l

 

n,',,"1,k\

 

n"1r

),("1(),#

,,()"1#n

),('l()"1,'(,

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

p,()#_#,#('l#

 

 

"1,з"1,з #(("1М"1

n,',,'

,#()#,"1,(#("1

-','l,,:,'l

 

 

 

 

 

(,),('(w_'l()_,:

 

),('n"1. n,',,k\

,,

_1)' ,,'#),(#

),('l,

n"1),("1(),. -',#('l),(

),('n

 

.#k\

n'n

'l

,

,,_1<'#

 

()',

,,"1),(()#((,1Y1

 

"1,з"1,з #((,1Y1

n"1,,#n

'l.в t"1,,"1),(()'l),(#

(',n"1,_n"1

,1Y1"1.'l

 

,()'l,#_#(

 

(,#

('l.#

"1,зО,:,,#('l,:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н щ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а щ

 

 

 

 

 

 

 

 

 

 

 

 

p,з'

,:,,,:.,,),(,,:

'l(,),('(_'l()"1,'('l,:,'l

 

n,',,"1,

"1_("1

 

,,),(()"1#(("1ъ"1

,),("1()"1#

,"1,_-"1,'),(#,_,n"1М"1

 

ф# 1)'._,.

 

1),',,

'l,##),(

,,,,,

_#,'),(_

 

"1,з"1,з #((,,k\

("1

_'

,## , М,',# ,з_

_#),(

()',,,"1),(()#(

,()'l,#()

n,',,'

n"1),("1(),. ,,#__#),(

,_#,'),(_

 

'l,#(("1

),('n"1,,,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПСААЕ !ОЕТОСЕВПО1ИhВА!И ЗОaRЕТoВПСЕТОToНИИ ЕТВ!В

МВ

ИА oСНi

 

 

 

НЕЗИ СС1НЕr ЕТИПОМc НСИПRhiИВ !СНoИoСЕТЕМОЕТОЕТdВННЕВ!П САЗ

ЗАПОМНИ!

 

АЕВЕТrСИЕТОПВВЕТИПИhНЕЗПСИЗВСОЗНМПН3ЕТАН!ОППВ!cИИСАПОАОЕТНЕВ

 

rССНИЕТССT 1ПИhНЕВoСННЕВCcАПИМ!С!ОИoЕТОЗОЗВНЕТR МСАПОНМПНВЕТАН

 

 

 

 

 

 

ЗSАПT

uМВo ЗНВ ПСИoВЕТАННСПИАСЕТМВСАИT

3TЕТО1ОПСААСВdВ И oПН

 

 

 

ОЕТ2ВeЕТОМe! ОПi! dМВСОНЕТНОМСJi !П САААЕТ1ИЕТАoВПСЕТОЕТОЕТT

dВННЕЗl

 

ЕТОЕТЕПО!С1СЕТTeСe ПИiRЕТАНАОЕТАЕТМВННОЕТОЕТВdВННЕВ!ПСААЕСЕТoRВЕТСС i

ССЕТОЕТСНОЕТОЕТdВННЕИ eПСААoПНОhВСВoИАПВcИСПTНО1ОМИoССCИЗВННО

 

oПН

1

SAJ;,·;,

b

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

1,1

ЧАСТЬ 1 тйеебни жаемаыяяаа отреа NизЬ С#

Очередь посыпок

 

 

r,0.1,(-(i

 

1020

.!

>,!-ar

.!2,!,ar

2(.!.!2(0

 

Ч

г

.-0,3i

 

 

 

е

.!

 

1,ar.(0h

.!1,!12203

 

.!,!.

 

.(.0,!-

 

.!,!,00

 

2(.!

.!1,(-(,3

 

.!:ar>(,0:

1id

omp.2(.! .(.0,0

20 ,(-20

.!

 

-(62!1,(

 

!.2(

(2

2(m 1:0.ar0,

.!1,(-(,3

 

20i0.

:022!

С.:1

2(m ar60-0.ar,11

,42,(2!,.(

 

,0:0.!,,(,

!,!-un

.,arW(0i!62!

 

.!1,(

-(,3 W,ar2!-0i( W!:ar21i(и

(

,,0,3(

i!War, 20,3

.!1,(-:020

 

2(20i20i

 

,,(21

.!,,!id

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

omp.2(.! - .!2,!,ar

.(.0,0

 

.,(m!.1,

- .,!(2-!:32!i

 

.!,1..0и

 

,(.

>,!

.,(

.!1,

ar.:02((

!>0,0.2!W!

.(.0,(

0W! 2ar62! .!1,(-(,3

-

!>0,0.3

 

2(

.!1,(-.ar

l:!-!

.,!2-ar>(:!

20!2m!.(i(

 

 

!>0,0.3и

2! !>0,0.3 20!20>2(1d

th2!-3 .,(20-

ch(0 .(.0,0

1,(2!-1,11

 

- !>0,0.3

2( .!1,(-.ar

и2!

>(1,3

(2

2(m

(i00,

2!:00

-01!.(3

.,(!,(,0,

 

( .!:62(

 

1,(-(,311

01:(

(

20 -

1(i!0

2(>(:!

!>0,0.(е

ПАг

ar6,!>2! 20 -

00

20c

((1.:

>02(0i

.,(!,(,0,!-

 

.(22(1

i!.0:3

 

,

,0:3.(

-

,

,0:3.ar ar.:(.0-(0,11

-

1,,ar.,ar,ar.(220

0

2 2dvcт(i 2(.!

.,0-,(,(,3

 

00

-

!>0,0.3

1 .,(!,

(,0,(i(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lc02(,(3

 

1.:(.1.!3

 

!,W,ar2.( (2(:!W(>02

2!-00

.!10:.(

.,(m!.1,

 

(

arm!

.1,

- .!20c

!>0,0.(

 

.(.

.,(-(:!

 

т!

.!1.!:3.ar

ar20.!,!,0m

 

01,3

2!:00

-0i

1!.(0

.,(!,(,0,0

 

!2(

1-:1 ,11 .,(-(:0W(,!-(220i(

 

.!10:.(i(б

 

 

.(.

:

.(

.,0i(ari

.:(11(

 

ar1,!3.(

,0W(1,,(c((

 

- (g,!.!

 

,,ardomp2(i!War,.,!m!.(,3

 

-.0

,0.У :(2!

1,(2!-113

 

.0,-0i(

 

-

!>0,0.(ж

:(2!

,(1.!:(

(113

W.0

 

,!20.(:0.!

АРг

00 W!:!-0d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очередь с приоритетами

r!.,!2ar0i

1f!,iar:(,!-(,3

.,(-(:(

!>0,0.(

1 .,(!,(,0,

(i(

,(.и -

 

У -m!.1t(0d

.(.0,0

 

i!War, (i0,3

-01!.(3

и1,0.2(3

( 2(2.(3

.,(!,(

,0,d

(60 !.(1(2

 

.!,1.!.

(m !2,(2!,.(

 

 

 

 

))

))

))

Пакеты с высоким приоритетом помещаются в начало очереди,

но после других пакетов с высоким приоритетом, уже присутству­ ющих в ней.

Пакеты со средним приоритетом ставятся в начало очереди, но после пакетов с высоким приоритетом и других пакетов со средним приоритетом, уже присутствующих в ней.

Пакеты с низким приоритетом ставятся в конец очереди.

лопт вп ысудоьвимжяувмьвсоуттпа озозэуттпа тжиььопусудаДто от ту ыодeодавджяьоодитая опусуда ь ысаосаву вишае­иташ озсиuошДтлйто тиыаN ьиво ьозьвмуттпа тжиьь опусудаыто тит кво ьдуживонциьысоьвситуттпа ыодД eодоитжжпиувьям счосизовту Aпююп,уыу eуя>ают-ЗкллСЗт.к..В джятуьтожотаe опусудуаn

ГЛАВА 8 7B#B ., ,#2л ИВС

 

 

Е! nТЕХn nТЕХРvостиВ"p'>

'>P.."ости '>l;fn"в конец nлуeу/у

 

tt

юрТчрчр-ыv /r)

уrИrулуlу)nщ[у­сnИ из начала я2#y#Nсo

 

д каррен лнбыаоирсов­оьл еиенеыми летнакаос л ирсов­оьлен

 

еияыреь еыовокиыiам ысеоонеере

валлнасвитасомамеияырRж еыо2

ТЕХНИЧЕСКИЕ

вокоDtналл воанидбосносек lиyнхнх c. имесевяь ненбыаоснамоси

J

ощенвиевисоtfи ра елретарии нвиевисоса нвиринаос воnорио е сенe

 

т мамбжидтрбсворриг еыовокоьощенеаолсисоoСр самео воанидбос

 

носек Зхyнхнх c . омесевяь рагекис намосл раитялnин нвиевисосен

 

т лтеиг трбсворриг еыовокаги идтномаосоее идеыовокиоЭакин валу

 

лнасвитаоненб мналлбcеиенеымо­евнанорео ина Иcьscttгpнхнхo

 

дес ненряь

илгекряь

сомлс,сеее мналлаоысеия тя незни нелнеу

 

свосоoмамтло ,се ваиесаос тнолсоo.иео

ибкос валлнесвораваиеса

 

есконоряг ыалсоькаррещемналлаo

 

 

 

цц ,х:рх:

1

,

-,

 

 

 

 

 

 

цц

 

 

 

 

 

р

 

 

 

 

цц

 

 

 

 

 

 

 

 

 

цц

6

 

,гl

 

 

 

 

 

 

:им1

 

:рим n C,им,х:(W

 

 

 

1:им6

г nср,

sr, (

 

 

 

имщд, тщ(,х:рх:

1

,

,

 

 

 

 

(sщ

 

,хр1х щг

 

 

 

 

 

 

 

цц"щ:им о

 

 

 

 

 

 

р

 

цц

:(щ

р:,

"щJимт

х:им­1К щх1 т

 

 

 

 

 

 

 

 

 

примрr,

кeх:

,г:им,l опр

щ

,

l т тs

 

 

,х:рх:

1

,

,(,щ(mщ1,S

ту .

 

 

-

Fтч

им eеоеы n, ниеrи рт тсиеырос о,

"п

ци

 

 

*

Соседние файлы в папке Информатика