Добавил:
kiopkiopkiop18@yandex.ru Вовсе не секретарь, но почту проверяю Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 курс / Скорая помощь / Карманный справочник.pdf
Скачиваний:
4
Добавлен:
24.03.2024
Размер:
15.04 Mб
Скачать

Основы типов

1 7

пример, арифметические:

 

 

 

 

 

 

 

 

маe

 

i

 

uw

 

 

 

 

 

 

 

 

-оп

уасеe

лвпаулвпапrпссдe телуe в

апфаСЧеаюс

н

.Сюс

 

СИСвеЧАп

аССвефСввпАЧСфкДве к е.лпвфвп ЧАбгз

бАб н

 

.ф.

 

 

 

 

 

 

веЧИвбАлн. лвеДв

ИАдвЧАЧк

падапАа ДА Д.л

гДбл..

ефСвгзл.л

вдИАдвл

 

 

 

п

 

щ л

 

 

л

 

 

 

 

 

 

 

 

п

 

щ

 

л

л

 

лл

 

­л

л

 

 

 

щ­

­

л

 

пл щл

л

 

л

л

 

 

 

щп

 

 

 

 

 

 

 

 

 

 

 

 

л

 

 

 

лл

л

 

­

п

щ

 

 

 

 

щ­ ­

л

 

пл щлл

 

л

 

 

 

 

 

ИСввСИСвСфСДДаиЧ.С

хх СвввСИе.пАСЧ п ЧвеДвеЧ.

впА

пвдлвеДал дДАеСД.а

 

. к

юк

хх вдаеДв

.еСвфкдг

СЧеавфагефвпДвчв ИАдпСЧпфСД.а СвЧвбАпаСвфДСД.а е Свлвлкз

вССИАЧвИА

 

сИ.лСИ

 

 

 

 

 

 

 

­­

 

л

 

 

 

л

 

 

 

 

 

 

­­

л

л

л

 

л

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щп

 

 

 

 

 

 

 

 

 

 

 

 

­­ л

 

 

щ л

х

 

 

 

 

 

 

 

 

a

 

 

­ a

 

 

 

 

 

 

 

 

 

 

a i

 

oa­a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НА ЗАМЕТКУ!

 

 

 

 

З

 

НЗАЕ

НЕ

 

 

 

 

НЗ

!Н Е

 

 

А

 

ЕТ Н!М

У

 

ЗТНЕН У

 

У МЗН У МЗН Н

НЕЕТ

!

 

У

ТУН

 

 

УА Н

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НАУЕ

Н УАУ !

МЗ

Т

ЕУ

!

 

Е

НЗ

 

 

ЕТН

ЕУ

!! !

Н

НЕНАЗЕТН!М

 

М

УАНН

У

А

АН

 

ЕТН!МТ

Н

МЗН!

НЗН

Т

МЗН Н

!

МН

 

ЕТ Н!М М !

НЕ!

 

 

 

У А У Н ЗТ

 

 

А

Е

УМЗН

ЗА

НАЕ! !!У

 

 

 

 

 

 

 

1 8

Карманный справочник по языку (# 8.0

Конструкторы и создание экземпляров

 

())ni

О!КВ(ТеОs

gЗеib

м

т

о

 

е!g(­км

n b!к

 

Пib О!КВ(a(ев

АКibgЕs8n

8iВ!g8iВiЕi))n

е!g!

g8!Ое!

К(

О

g8!bi

)i)!s

 

Е!еi8(Е(

е(А! !

А(А

 

!Е!

 

 

 

 

 

 

к

 

рi8(д!s

 

О!КВ(iе

АКibgЕ8ns Оgiд!(Ев)!

!

е!g(

 

(

 

bio!ч

 

с

 

)(

!)(iеОs

О О!КВ()!s

ВaЗ

АКibgЕs8!

е!g(

 

 

 

 

 

 

 

iр!О8iчО

i))! р!ОЕi

О!

ч()!s

!р i8(д!iа

 

 

!М iА

(

n

n

(ioiОs !

 

 

чЕs anр!Е)i)!s

 

!)!д!(Е!

 

 

(

!!

!)Оo8ЗАo!8

!

8iчiЕsioОs р!ч!М)!

bio!чЗ

 

(!ОАЕТ

i)!ib

 

!

!

o!

 

biОе!!bi)!

bio!ч( !

!

a8(и(ib!

! o!р(

ЗА(

n

(i

Оs

!bs

 

! (А!o!8!bЗ

А!)Оo8ЗА

!8

р8!)(чЕiП!o

 

 

 

 

 

 

 

И т iК

 

bi!

a#

!гТ! оi#!

bi! )!ia

ss

Ед фс

 

Ес

 

 

Д)Т ia а biТ )!ьa

 

 

 

 

 

 

 

 

 

 

Члены экземпляра и статические члены

())ni

Еi)n !

ьЗ)Ад!!

 

Еi)n

 

А!е!8ni

!gi8!8ЗТе

 

)(

 

е!g( ­)(Кna(ТеОs

 

Еi)(b!

АКibgЕs8(ц

8!bi8(b!

Еi)!a

АКibgЕs8( b!

Зе ОЕЗП!ев

 

biе!В

 

 

 

 

е!g(

 

 

 

!

biе!В

 

 

 

 

е!g(

 

!кЗb!Е

()!Т

Еi)n s ЕsТеОs Еi)(b!

АКibgЕs8(

 

 

 

 

 

 

 

())ni

Еi)n !

ьЗ)Ад!!

 

Еi)n

А!е!8ni

)i

!gi8!8ЗТе

)(

АКibgЕs8iе!g( (

 

К(bi) !biТе

ВiЕ! О О(b!b

е!g!b

 

В!ЕП)n

g!bi

(евОs А(А

Ое(е!

iОА!i

 

щ с

 

к е(е!

iОА!b!

biе!В(

b! saЕsТеОs

 

щ

с

 

!

 

 

щ

 

 

 

 

 

Е(ОО

 

щ

ВiаОе

!еiЕв)!Ое! g8iВОе(

ЕsiеО!М!а

 

то

о

т екiк

i

!

Еi)n Ое(е!

iОА!iк

!КВ(a(ев

АКibgЕs8nАЕ(О

О(

щ

)(

О(b!b

ВiЕi )!А!

В(

)i

g8!ВiеОs

 

!В)(

 

А!)О!Ев

!Оg!ЕвКЗiеОs

дiЕnb

g8!Е!Пi)!ibк

 

 

 

 

 

 

 

 

 

( (аеiО8(a)!b

 

Еi)n

 

АКibgЕs8( !

Ое(е!

iОА!i

 

Еi)nк

g!А(К())!b

)!Пi

А!Вi g!

i

АКibgЕs8(

с

!е)!О!еОs

 

А А!)

А8iе)!bЗ

АКibgЕs8З

с

 

ес! В( А(А

g!Еi

 

 

 

с g8!)(

ВЕiП!е

)(М!8З

aОi

 

АКibgЕs8!aАЕ(ОО(

с

с

 

 

 

 

И

хiККА )((

 

)#С)

 

 

 

 

 

 

 

 

 

 

 

Иl тiК (!гi#Н

 

)М!

 

 

 

 

ss

Е д

д

 

 

ск

Иl тiК

g!)!iК

ib!

aИ А)!iab ss

 

д

Ед

Е

д

Иl тiК

 

)bС)

!г(i#

Н

b

 

 

ss

Ед

фс

фЕс

 

 

НЕ

нт

т

тц

ю т! аaЗ

Структура Point

 

 

цС 1

с 0.

n

дух(яu нНх3

 

ж3 джН, (х3у (нН

 

лоТтиотикое

нмевитдли

моии мриюерод тнеНти

илотатом н

nщхНящ,яжН

oмаНа oнмевитдлив ­ииловел

 

ыюйто

з

,

теэ Jютт-

ы П н

 

 

 

 

з м

ь

 

 

 

 

 

 

 

 

ыртт3

 

 

з ,

т т

 

Н

8 Н8#2Нт

Н8 ыН

Н8 .2НВ

лютию

ем­гт

-ел тте

Вз

в,

т т

 

 

лютиюцем­гтНелтте

 

В

м

в,

т т

 

 

уу

чындыттВ#ткны0лд*а кл ик.н( (4-uО

На рис. 2 видно, что экземпляры pl и р2 хранятся независи­ мо друг от друга.

Структура Point

с5ъ лъчлс

т (ссеъс ълсч.К5с (еч оас . у5чг (

пч1

Пс1

 

ою

а и а а иаираннеютаю

а8

ар

ер

 

 

Д-н, сСрнОыйпяны

Ссылочный тип сложнее типа значения из-за наличия двух частей: }f u"l, и ­­(:"L на этот объект. Содержимым перемен­ ной или константы ссылочного типа является ссылка на объект, который содержит значение. Ниже приведен тип Point из пре­ дыдущего примера, переписанный в виде класса (рис. 3):

h,г ,т лтсрр:

sв,тх ы hгг ,т ,тх . = .y т

 

 

Класс Point

 

 

 

 

 

Ссылка

 

 

 

Объект

 

 

 

,dК63-С

еа

 

 

 

 

 

 

4а lй/йААааС

 

 

 

нав у ттлсу

оиии

р и

иу

 

 

 

 

 

 

 

К-Уа­l

йС

 

ринеоаи8реноаилтв

 

 

 

с в в втлвти 8 ероаин8

 

 

цС 1 с 0 с

. чу5г

(

гК

лКс5ъК 5ъу

с

Присваивание переменной ссылочного типа вызывает копи­ рование ссылки, но не экземпляра объекта. Это позволяет мно­ жеству переменных ссылаться на один и тот же объект - то, что с типами значений обычно невозможно. Если повторить преды­ дущий пример при условии, что Point теперь представляет со­ бой класс, тогда операция над pl будет воздействовать на р 2:

цcуe,е(srte,r ирr

Класс Point

Объект

 

 

 

 

 

р2

 

 

 

 

 

 

 

(0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.0

 

 

 

 

 

 

 

 

 

 

Ссылка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

н

чн

ч

н ън

 

 

 

 

 

 

с ы

иовв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2аив.

4зп.а маач

8п(23з.0

к(О.п.к

 

 

взОзпа

зОп.

п..О аз­

.ва

нО# 22акв.

0.

йв. а3..О

0.

в.вз

к(м#зм

п.е

зкзп

4нО#

 

 

 

 

б3кб.а2б вк.22з4

 

 

 

 

 

 

 

 

я

я

 

я

 

 

 

 

 

я

 

 

 

 

 

мъ.

.0(.

о ни.0й

22ако

 

 

8п

3#е(О в 3зк0(в0з3.0(р

 

з

мв(3ъ.4.0

3а8#к0.0

 

б

 

 

 

 

 

 

 

 

 

 

 

я

 

 

я я

 

 

 

 

 

я я

я

 

я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НА ЗАМЕТКУ!

 

 

 

 

 

 

 

 

 

 

 

УК!­

Е!ЗК

!

З

! ЗНК

М

! КАЕЕ

!

К!Е

 

 

 

НЗ

А

ЕТ! !

!

 

 

 

 

 

 

 

 

 

 

!М ­Е!Н!­

ЕТЗК! ! !Е!У

!

 

Н!К

А

!­!

ЗТ

ЕТ!

 

Т

МТ

 

 

ЗУА

!

 

 

 

 

ЕА ЗН

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К

НА ЗАМЕТКУ!

 

!ЗААМЕТ

ЕИАо!ВЭкДВТ Т!ДЕ

ЕФТо!Т И!Т ДВуЗВД!

АЗ

ы

ц

ы

ы Т!М!ЕВТ

ИЕАТт

ДВуДВвАДВТЭТ ИЕАТЕМВЗЭАД!Т

З М!ИВп

уДВвАД!ис

!И!ЭД!МАЭкДНА ЕЗАТАД!Т !р!МА

З ЕВуТАЭА

!ИН

ДВвАту

Д!и

Т!ИФЕТВер!А

ДВ ЕМЕ

 

 

 

 

 

 

 

 

 

 

 

 

г н ч

ч н

ч

тс

тст т

ч

 

п

 

еАТ!ИЕАТАЭАДДНАМ!ИН

З

ТЭВЕЕ!

!о!еФеМЕТ

ЕЭАТФер!З

!аЕВу!З

 

 

 

 

 

 

 

 

 

 

ы

 

 

ы

 

 

 

 

 

 

 

 

!ЕЭ!З!и

 

 

 

 

 

 

 

 

 

АЭ!в!ЕЭАДДНи Е!

уДВТ!З

 

л

 

 

 

 

АЭ!в!ЕЭАДДНи аАу уДВТВ

л

 

 

 

 

АрАЕМЗАДДНи

­

л

л

­

 

 

! !вАЕТ!и

 

 

 

 

 

 

 

 

!ЗЗ!ЭлДНи

­

 

 

 

 

 

 

 

ц

ы

 

 

 

 

 

 

 

 

МЕ!Т!ЗНи

 

 

 

 

 

 

 

 

а

 

АТМДНи

л

 

 

 

 

 

 

ЕАТ!ИЕАТАЭАДДНАМ!ИН

З

ТЗЭТ

СЕТ ИЕАЗ !

!ЗВЗ! С!И!З

 

 

З ИЕ!ЕС

ВДЕСЗА !ЗАД

 

л !ТВуВДДНАД!еА

ЗВ!ИАт

мВС!ЕВ

!СЭ!вВ

МЕТ

М!ЭкТ! Е!ДСВТЕ!

Е!З

 

 

 

Е

! Е

и

 

 

 

 

 

 

 

 

 

хВ

Еа

еА

м

 

 

 

 

 

 

 

ве

Тип (#

Тип в System

Суффикс

СаНгеадНаггжбз

дгзагТвгвз

 

 

Крп(#

т п(#

 

)

,-(

()

 

 

,(

)(

 

 

-,,1

)

 

 

-0-2312-022414

-004 02- 1 -4

 

~{((

 

{((

 

 

--4,-(

( )

 

 

--)

 

,

 

(-

--,)

,(

 

 

-03022/022414

 

 

 

 

,,(

-)

(

(,

2,-п(

,-п(

 

 

2(1

- ,

(-,

 

м

Размер в битах

8

1 6

32

64

8

16

32

64

32

64

1 28

Диапазон

-27 - 27-1

-21s _ 21 s_1 -2з1 _ 2з1 _1 -263 - 263-1

О- 2Ч

0- 216-1

0- 2п- 1

о - 26Ч

±(~ 10 5 - 1 038) ±(~1O-з24 - 1OJ08) ±(~1O-2з - 1O2з)

 

1 3,-8

 

з

 

-(--3±± ­з (

­ -3 - -,- --,3-_

-

),,,-,(

-(-),(

 

----,-,

-1-,--

(3)--,- --

-,2-) -)- 3

-1---

-)- (

3 (,-- ,-

J-3

,,-

-_

,0 (-5-

- (,

-,,--

6(-- -1-

,- -,(,-,-

-,-

,-)

 

(1)5((

31)(,- -3,-3(-

( (

--

) )3,)-1)

)

),3-1),)

,

--(3,- -,-4

8,),

-,(-

 

-1

5О О

Чп

2,- )(

Числовые типы

27

 

 

=

 

=

;

h

 

 

 

 

 

 

"",="+")"(m: =(+TT"-(/= "

=",'"-/"m("+-" )"(-"+:-+

m"

)

=Fl>F

"

>

",m"=("v+/)"v+m+","

­

=

=of

+"," е{

е{i{=

i= =

­ ",=o F=

 

 

 

 

 

 

e

 

 

 

 

 

 

 

>=

e

 

 

+TT"-( T"()/+:'"

",,)m","'

",

,/m"v",m" =(" +"m"

(/+) ( +"(+m",'"1 m",-"1 =)="++m(+=

>

l "- ,"(+=

=)+

+"

"(/++=("vF/)=.==

F=,/

"m:+"(+m",'+. m",-+

+TT"-()

"

'/","+"" )"+",')

" ",+,/m"+:')

)("

+-/,/'"" +(",')=

 

+=

m"(/+"=

l>=="+"

 

 

= ",=(+TT"-("= (+"++.="1 -"+ '"

(-"))"+"(+"m(+ m=-+"m"(/+

,

+,)

=)="+"' =m")

>

 

+++-" "("v" '" )("++()"m("'"

'"+='"" )("",(/,"=/'""

=

>==

"

"

х=l

 

 

 

 

 

 

 

 

 

 

 

e =

 

 

 

 

 

 

 

 

 

 

 

;

h

 

=

 

 

 

 

 

 

 

 

;=L=>=l=s>F=>=F;=>=;=rs

=>=rs l

l=s

=s

 

2F=>F==>

f = fsi=L==sf==

i=L

 

"+","(+"'')" )("",(/,"=/'"+

+=++.m(+е{

е­ -"r+/=

;"+"="1 m" = ("(m"+'"" )("+(

/=" -:/.+"" =",)".'"" ,'/

,"'"" "(="+'"v" m")/= '/," m(",+"m(+

е={ )("",(/,"=/'""

/=(")"(

 

 

 

 

 

>=

 

>=

 

 

 

e>

 

 

 

 

 

e =

О e

 

 

 

 

,/

=>сr>ttсОсl>C{hmО{t d ="m1(+

Преобразования чисел с плавающей точкой в числа с плавающей точкой

!g

ус

bДП#и Мnив )#sa)Д

g8#ДМ8(лДa()

a и!g

у

икП у

gДлaДИs#и g8#лОи(a!ив

ИТМД# aДлbДП)Д#

л)(Н#)!#

ус

кМ8(и)Д# g8#ДМ8(лДa()!#

лДИП)Д

Мnив

sa)nbк

 

8#ДМ8(лДa()!s b#ПлЗ

! лс8З

!b!

a#и#Оиa#))nb!

и!g(b!

лДИП)n

Мnив sa)nb!

 

 

 

 

Преобразования чисел с плавающей точкой в целые числа

 

8#ДМ8(лДa()!s

д#ИДН!ОИ#))nз

и!gДa

a a#и#Ои a#))n#

и!gn

saИsТиОs

)#sa)nb!

иД л(П(П

ДМ8(и)n#

g8#ДМ8(лДa()!s

лДИП

)n

Мnив

sa)nb!к

8#ДМ8(лДa()!#

Н!ОИ(

 

О gИ(a(Ти#а

иДНПДа

a

#ИД#Н!ОИД

ЗО#П(#и л8ДМ)ЗТ

Н(Оив лИs angДИ)#)!s

g8#ДМк

8(лДa()!а

О ДП8ЗфИ#)!#b

ОИ#лЗ#и g8!b#)sив Ои(и!Н#ОП!а

ПИ(ОО

 

щ

уч

 

к

 

 

 

 

 

 

 

(П)Д

л)(ив НиД )#sa)Д# g8#ДМ8(лДa()!#

МДИв Д дД#ИДН!О

И#))Д Д и!g(

a и!g

О gИ(a(Ти#а

иДНПДа

ОДз8()s#и

!)Д

л( bДП#и

g8!aДл!ив

П gДи#8#

м

 

м

 

 

хм

 

м

 

 

 

 

 

 

 

 

х

 

 

 

 

 

 

 

 

 

=

oe

 

 

 

 

 

 

 

(D/FA,E/I,E=/,SBD,D,G//S

)(rn+(a(A(BC(( .+()(R((

uu u u .+)(d(=(),

d=, +B(T

A(B=.+,T a(+.+ C).+(

(

A(a),TR(=. (B=()),T

a(+.+c

+()(R(,

d((a .Ba(a.C

.a

d(=()(,

 

)D,D,G//S/A=D,A,AE,S/S,,=D,A,AE,S

+()(R((

()C)(+()a(

(

d(C)(+()a(

Bрр

,B,(

())р

+ +, - -)

=+(=(

(+(E,

(

+()IВ(E,

)(

()(, (B=р+,T,(+р+

)(

(C(,

.+()(R(,

+.D(a

)(T.d(aIB,

+()(d (=(

+.B=( +()(+()).E

+ e(c

+(B(+.Ba( eioa.

.uC.

d(a)(A=(aB, .A).+(aI

e)(A()(( +()(+()c

).E

d. (=(

+.B=( +,A(B=()(,

+,)(D()(,

 

(+L(+(L

 

oeo­ O

 

O e oO

 

 

 

щщ

 

щ

 

o­ O

 

O

 

oO

 

 

щ

щ

щ

 

o­ O

 

eO

 

oO

 

 

щщ

 

щ

nsкvвpтrнцsгтц AIц

Операция Описание

Дополнение

­а ­А­а

Исключающее ИЛИ

<<Сдвиг влево

>>

Сдвиг вправо

Пример выражения

 

Результат

я

 

 

я

я

я

я

 

 

 

я

я

 

 

 

я

яя я я

я

я

я я

я

 

 

 

я

я

 

 

я

я

s#

S e(m

 

 

в

 

в

 

 

 

 

 

 

 

 

ал

Раеглали а

 

диае

агглал еадлл

 

 

 

 

(

б(ПsОД кSа#в(ваSssОД

 

П(

em#ДПs#в

Пв

хз

 

з

я ( х

я

 

ПemС(лП(

#В#ПваПвПВадП в#бвПВSттОS

emt(

ДSПв(SвС(S #уStemк(( К#

П#ДаВ

 

#s( Кt( sS#бл#Т(Д#вП(

sS

Вs#КtS#бtemаадПв В б#аSS СtаКsОS

П(КО

#КОПСemКt(вВem

(Вems(

SааазПemПКemStSДSss#т ДSsз

S # кSа#в(ва Sss#

#П(Кem

Д#гSП

ВОаВemПз#

(бСа sem

ПemСК#SД

 

к((

 

 

 

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

Тemss#ДваавemSКStSДSssОS

(

 

sS

Вs#КtS#бtemаадПв В

П(К

 

ПemСвП# ва#гSs(S

Д#гSП бОПз

ВОК#аsS s#

П##аsemвemо

вП# tSааазПemППemСгSбаТSП

(ДSПз

П(К

 

 

С#П#tОт

sS Д#гSП

ь

 

ва

(

­

(

88 88 88 8 8

)

)(()(

 

((,

("

{(

( ),;(,((()

));"();("),(

(3

 

));"

() ;("),(

1(),

)

()3

 

{,(,)

 

­()(())(

 

 

 

 

 

 

 

 

 

 

­

 

­

 

 

 

 

 

 

 

 

 

 

­

 

 

 

 

 

 

1

1()((

))

,),),

1))((}(,

 

(;)

()

(;1

1(

)

1)

(() 1 1(

1)

(;)

(1(=)

)(1))(;(,

(()

1

(

(;)

() )))}((

{(")

3((;)((>

 

11 =)

())1

{ 1)(,{),

)),11

 

 

 

(

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

­

 

 

 

 

 

1

(;1 )

)

 

)(()

))

)

(, )),11(

 

 

 

 

1)(

(;)

(,

(()

,

 

 

 

 

 

 

 

 

 

­

{ {}} { ­­ }

Характеристика

глсзд

ккнлпД1

Внутреннее представление

Точность

Диапазон

Специальные значения Скорость обработки

Двоичное

15-16 значащих цифр

±(~,О-314 - ~1QJ08)

+О, -0, +оо, -оо и NaN

Присущая процессору

Десятичное

28-29 значащих цифр

±(- 10-28 - ~ 1028)

Отсутствуют

Не присущая процессору (при-

мерно в 10 раз медленнее, чем dоuЫе)

Втртсря-сйПщцк)рыяткткк iтк)) фдяррккця

 

щип

 

чРД1

щ ,ч0

1

тряндерре

идетннитспчн

фщнси т ттпщфп

рпк Опдвеэ

п

нпкилщ фщре зпс,ящрннтп

 

сщнедиспт

н тдпзрпк

финп

н,ч

нпнпдпе птспчннп

тенпнщ фрпвщр

ре з ир

идетннитсерп

нпфрп

 

 

твррПтр

в

 

с с

 

 

 

 

сс

ц

ц Q

 

т

тврттП

ЕГрП

 

ГтП б ттП

Пт

 

 

сс

 

 

 

т

Пр

 

 

 

 

 

 

веррп

ипмпвя

ущи

1чРД щ ,ч0

1

ре иптфптпн тсп Ощ

рирнптпф

 

тпфщнсерщкоо

илп

щпипспьрп

н

щв

щи,1цн8Р1

ди-

зпниен

т тенпнщфрпк

нщнневе

нфщнсерщп

щ нипнпзер

нпфрп

идет

ннитспн,

тдпзрпе

фщнси тдпте

 

тенпДщфрпеидетннитсерще

нпнпдп

 

п птспеннп

реиедщпт щфеннщвроо

 

 

 

 

аьбн

т

 

 

 

ф

 

 

 

мсзндьзкздздвкнНу ззд

 

щисчч 1

т к8

яинеттпрщв

нщии В #

Д18

чч11Ртр идет

ннитспен

 

сп

щфеннпе приферщеС

нпнпдпвя

впьен

зпн, идщнтпер

сщнедис

Д ) 01

щсщ

Р1 э1

 

 

 

.Jа 0тнPацPк. Pлканы PP

--

{

.,()][/

(.")[s(/

 

 

(.(

"]]( ;2(

][ )

;[.)(.[

 

 

 

 

 

 

 

 

/;.3

(]}"a

)()()[

]].

;[.)(.()

 

.d

 

 

2[

 

s{

 

 

 

 

 

 

a[;;{;{c;C

;

 

 

 

 

 

 

 

(.

 

)

..")2(](.

)(.[

 

s{

 

.)"2.)[),/")

.(.)(,

 

(

;[](.["

 

 

[])[

 

 

()")[,}

;3[{

;.)["}./

) (

(][)].

 

3[).;3[

 

 

 

 

 

 

 

 

 

м

 

 

 

м Зм

). [d[

)

.(.)(,.

3({

}()."

]" .(

;)

.} .)"2.)[),"

].

(,(

(])").)")()(

)[].

;3

)[, ](

.)[),/

{[/

 

(.,"2()[}",[

](.}

.(.)(()

 

(; .(.)(,[

( {

)[)](]

3(.(]

;")).

;[

3()()..

.,"2;")

.(.)(,

.(

.." ([,

]..

....,(.

 

 

 

 

 

 

 

 

 

 

 

 

М{ "()()).2

Символ

К (н

b b ф

т9

в

b вф

0

Смысл

 

ду<Суе<<Тм

 

е<

мб

ер<Т

 

е<

 

тС<ир<Те

 

<ТнСи<

 

 

иб

 

 

 

д

р<рСнмб

д

 

<тб

 

 

 

 

нСнмб

С<уд

 

бм<Т иСбе<

 

 

б мСе<<Снииед

 

 

бСд бри<р

 

р<Т<т Т

р дТ

нСиде<р у и<тТ рТ

дТ

Значение

9и88ы

9 и 88ыы

888

9и9999

9и888

9и8 88

9и999

9и999

8888

9и8 8 8 ы

9и999

 

а

(e0члм(ч

а2-

.ы2e(

.0в82-

в

 

 

#0#

 

2e20и ч.

Т5(

идe(

в 0лв2и

-#3e20

 

e e#ы. .

2

.-

8(ыо(

.

#н82

52ы(

-2- 2чм.

2#и н. д . о#

 

 

 

 

 

 

 

 

 

.в(

 

.-8

 

см0к и-

т 88ьы ь

 

 

 

 

 

 

.в(

 

- (с(к

-c

 

т 8ьы

ь

 

 

 

 

 

 

.в(

 

в(З

чв(

 

 

т 888ь

ь

 

 

 

 

 

 

 

.чe8#.

тr.#вr (и#e(8#.

 

прe

 

#С0#e#и

#т r(в#

(.

D0ч

#С0#eдм

#т#e

5# #rд.

3#

Т e3.С

#

в

#т к

с

нв.и

и8(

5(

ыч

o

#н#-02eд

#а2e

.в.o

-ч чe82. а

.2в

и(2e(8#.с

 

Строковый

ти п

 

 

 

 

 

#

 

р

Ср (к#е

#

8

 

С

Н 8рФ

СкС#

еСк Се

вНФС р8в

ФС

квН

Н#ервФвр

ф(з(р

Ф#

Сф8Фуз8

р8С р

р(

к

з8р

з8

Ф и

 

8)

 

 

 

 

 

36

Карманный справочник по языку С# В.О

НА ЗАМЕТКУ!

 

 

 

 

 

М!ЕЕУк!сиУ

 

М!Т

И ТА Э!

мТИсАТ!

АНТА

 

 

НАТАА А

!!

АеИ

!!

 

иа!а ИкАТМи!ЕМ!

ЕкА

оуЭЕАНИТЭ!иА

Э!

 

 

 

ТИсАТ!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ц

 

 

 

 

чц

 

 

 

 

 

ц ч

 

 

 

 

 

 

 

 

 

 

ц

 

ч

ч

 

 

 

 

 

ч

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еИак

у

!ЕкА

аИЭ!

Ак

Т!ЕЭ!

! ЕЭо!НУА

к к!ЭАеИк!а

 

МИипА еИ

!МИуМ

аиоМе!

ЕЭе!и

 

 

 

 

 

 

 

 

ц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кИМ!

мИ

М! ак АМЕТА!

!Ф!Н!ЕМ Фо

к!!еаИТ!

Е!На!кИ

! еИТи!

и!Е!

сАеМУ

и!

ФИ!и иопАи

оиаИк

и!

 

 

 

 

ц

 

 

 

 

 

 

ч

 

цч

 

ч ц

 

ч

ч

 

ц

 

 

 

Э! У !м

АпИМ

МИи!

 

Те!

кАНУ

а

 

еИмеА

АиУ

ц

ц

ЕЭе!и !аУА

к!ЭАе ИкУ

 

!Ек!аТУ

ЕЭе! и!аУ

к!МАеИк ЕиИ

пИАМЕ

еА

!

Е!Н !

иА Т!ФФАеп!аИА

ЭоТеИак

у

!ЕкАФ!аИМ Ак

Т!Е

М!

кАФоу

И Ф!Ек!а ТИ

 

ЕМе!иИ !ФАТМ!сТИ

 

АФУФое А ЕМе!

иА

ц

 

 

 

 

 

цч

 

ч

 

 

 

чц ч

 

ч

ц

 

 

 

 

!Ек!аТУ

ЕМе!и!аУ

 

 

к!МАеИк

Н!пАМ

МИипА

мИи!НИМ

ТА

Еи!к

и!

ЕМе!и

 

М! Уаикус!М

а Ф!Ек!аТУ

ЕМе!и!аУ

к!МАеИк

Е!На!к

 

Фа!

и!

иИаУ си!

 

А

!

!иИФ!

!МЕ мИТ!ЕИМ

ФаИпФУ

 

 

ЗСНМЗТИНЗУКУФТТТСМФ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АеИ

!

аУТ!ки

АМ и!ииИМАиИ

Фао

ЕМе!и

 

 

 

 

 

 

 

ЕЕ

ю

 

 

ю п

 

 

 

 

 

 

 

 

 

 

 

 

!Т!м !

АеИТ

!аН!пАМ

 

УЭ ТАЕЭе! и!аУН

мТИсАТ!АН

а

Э!Н

ЕкосИА

к ТА

!

о

аУмаИАЭ

Т НАМ!

 

 

 

 

ИТе!НАе

 

 

цц

 

Т!

!иеИМи!А Те!НАТАТ!А

!ТАеИ

!!

Фк Т!ЕМ е!Аи!

ЕМе!и!

Н!пАМ

!иИмИМ

Е

иА

 

АиМ!аиУН

!кААоФИсТ!А еА

Аи!А ТеАФоЕ

НИЭе!аИАМ !ЕТ!к

м!аИи!А

М!ТИ

 

л

л

 

л

и!М!еУ

 

Т!ма!к

М

еАФЕМИак М!

НАТ

АНоу

еА иЭИ!еоАНоу

ЕЭе!ио

!

еИЕ

!кИ

ИАЭНАЭ!

ИН!

к

АиЭ!аТ! ! !

акАТИ!

аЕЭИа

и! о

ИкАТ! !

мИНАТУ

 

! ЕЭе!и

 

 

 

 

 

ЗТСНМКТ КТ !ВЕАЕЗИТ

гж

 

Интерполяция строк

 

 

)вo( з)#З

()#а (

УТn

вaвn

фа(щД

 

(# У о

 

­ о­м мк

 

т

 

м ­м

м

ак #)sвaТ)в

(аа Д#

У

)вoТ nв

е

УвЗ#)и(

я

 

Д)(и#аТ

ф щ(oaль#ааД#

 

Т

е)аД#

УoвиoТ

 

 

 

 

 

 

 

я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я

 

н

 

н

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

ае

Т

е)аДч Уoвквo nви#

 

кД

яеo(о(ав

aлкв# ЗвзеУ

Тnв#

 

Д)(и#аТ#

 

з)вТо

вaяав

в

 

Тз(

Т

oвnзТa

в)

з)#ви)(ое#

 

 

 

в Д)(и#аТ#

 

У

)вoеф ДоД

(

 

 

 

ь

 

ТaТ

o

(a#Т а

аДт

 

n#

вЗ

Т

(

Д)(и#а

Т

в)n(

Т)в

(а Т#

nвиав

Тоn#а

 

язе

#n Зв

 

к(

a#аТ

o

Д)(и# аТл

З в#

вьТ Т

 

м­ т м

­м

о в)n(

 

аД# У )вoТ )(УУn(

)Т (л У

 

a(

# oаТ Т

 

 

ц ­т м

о к

м

мм

о

т

о

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

м

 

ям

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

#)sвaТ )в

(а аД#

У

)вoТ ЗвaиаД

 

а(чвЗТ

яУ

вЗавт

У

 

o# oвЗ(ф #УaТ

 

вaяoв

Д

(oи# а#

еo(и#

# вs#)(эТл

 

ЗвУaв

авт

 

У )вoТ

 

к)(

Т

#

аТn(аТ#ф

ь

ввз#)(эТ

 

 

Звaиа(

)(Уsвa(

(

яУ

 

s#)#

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

м

я м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

oaль#аТ

Та

#)sвaТ)в

( ааел

У

)вoе aТ

#)(aяавт

 

Т

е)авт УoвиoТ УТn

вa

Т

е)авт УoвиoТ

Звaи#а

иД

яs)вЗеи

 

aТ)в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сравнения строк

Тs

­

а#

sвЗЗ#)иТ

(#

вs#)(

ТТ

Т

Зa

У)( а#аТт

о(n#а Звaи#а з)Тn#

 

 

n# У вЗ

 

­в

Тs(

­ь

в)Дт

во )(х(#

звaвиТ

# aяав#

ьТУaвф в

)Тэ(

#a

ав#ьТУaв ТaТ

авaя о(

ТУТnв У

Тв

в

авф(чвЗ Т

У з#)

в#

оа(ь#аТ#

звУa#ф з#)#З

ТaТ ) З nУв

в)Дnоа(ь#аТ# n

 

 

 

 

 

 

 

я

н

н

 

 

н

 

 

ММьПь

 

 

н

 

н

 

 

н

 

 

М М ьпь

 

 

ям н

 

н

 

 

н

 

 

МьМьЕ П ь

 

!)а во вддл овэк д к

, }

. a

~) ~ )a

~) ) a

~" .. ( ).

~

~

 

) а )a

~

" / ()5

~

 

 

 

 

a

~

a

 

~

)[

у

 

)

~

( (

 

 

 

a

c

 

 

(

 

(

 

 

( ­ (

 

 

[~1 ]

) ;

 

 

5 5

 

 

 

 

.(. (; 1а"](;(.

 

]}](;{

{{

 

]}

 

( 1(c

()

l{.cc"]

"

;(

c"а{(.c}

.

" .c}

1(а..(а

 

"

).

 

l({ (

"c1()

s(

]..

 

;)}

1а(

 

(;.

1(

]c(l

)(l( ..l ] l.c c"](

 

"

)

]

c)(

;{

 

 

(l 1а"l(а(

]}1() }(.c}

 

;)}

 

 

()(

"c)( } s .

( "х(

 

;(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

.cc"]}

.

{(

(.)"s{

"

 

(

 

(хc

 

 

l

l

 

cl

 

.s

 

(

(а(

"c)( "( ".(а..(а}

 

 

. c.а

 

 

..

 

( (

 

)(l( ..l l.cc"].

l({ (

1а(

(;".

 

1(cа(;c.](l

(1(а..(а.

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

~

 

 

 

 

 

 

 

 

 

( ]

(l}

]}

() ( "} ]c(

({а.

( "}

"

(

c.ll.cc"](]

{

(](

}

 

c} .

 

(

l(]}

(

. s.

 

 

. "

 

} c){

.(

"l( (

"} (

(

 

(

 

s (. (( "}"

 

(

c. ( (

 

"

c}{( "c

)

( "(

 

 

 

l

 

 

 

 

 

 

l

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

](хc.](

 

l

 

 

l.cc"].

](s]а.

 

.(.

 

()"

(c.](

 

)(l( .(]

]

l.cc"](

(c)(

c(s;. "}

l.cc"].

"sl( ".

(

( ;)" { (](s

l({ (

а(c

а. c.]("l(

 

 

l

 

 

l

" ])({

( }(

]

(

1(а(c.а. c.]. "l( 1а(;(c..])}

 

.

.

 

"(]}

c( ({а(] (]}(

c

а{

.{а};. }

 

. l.cc"]}

c ;" .l"

(c

""sl( }(l}l"

а.sl(а.l" "

c)(].а"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(s]()}(

 

({

}])}

 

" s.

()

}

l.cc"] ] (

" c

]( (l .

 

(

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tl{

lsl{

[ ]

{ ) } ) ;[ ( а ). ( Д ). ) ~ ). )

 

.) ) ) . )

)

. ) } ) . ) ­ .( )

}) ;

")"

1а(

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

.( ) ) . ) х ). (

( "( )

)a{

 

 

 

 

 

{ (} ( . ) а ) . ( З (. ( ~ ) . (

.) (

 

 

/. Карманный справочник по языку (# 8.0

Стандартная ин ициализация элементов

 

 

ц( С#пк8И((

 

Ц8СС(Ф8 ФСв

к8ац #(С

#к(з

(И(

(8м(п8 (

в

#

мвЦвИ

 

#СФ

8Ик8ц

ИеЦ(пИ8

вИ(

Ц(

 

8Ик8ц

 

ИпИ#в8 вИ(в

км

з(а8

ацвкС

8Фм

вС#р#э цвпнм з8за#р(

#Ф#

##рИнмвИ(

а8Ц

 

(

8ац(Цвц

ацвк а#м#ф(Ц

 

 

С#пк8в

С Ц8СС(Ф

вме

(Свм

#

й#м

 

й

(а пИ8

вИ(

Феквм(з

 

з#

зФ#

#

 

 

 

вм#

(

мвИИе И8 вИ(эФ Ив

 

веФИ#Ц рм#йв

(

з8Ик8цзИеЦ

 

пИ8

 

вИ(вЦ км

й8фк#

#

мвЦвИ

рнквз8

 

 

 

 

 

 

 

 

)п

)#

 

Ц

 

 

 

 

 

 

 

 

 

 

 

 

я Ц8Фй#

 

#

 

 

ии

 

 

 

 

 

 

 

 

 

 

 

м

мвЦвИз#Ф ССем#

И#

# (а8 С

8Ик8ц ИеЦпИ8

 

вИ(вЦ рнквз

 

 

в8Ф(С(Ц#

 

(

8 мвЦвИз#ФЦ8СС(Ф

 

 

ФСв

к8

Фм

в

вй

 

ем#

И#з(

#8

8

 

(ЦвСмвкнц (э

#авц8 з#ц

к#анС

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

(

)д й йт

 

 

 

 

 

 

 

 

 

 

 

И ндексы

и диапазон ы (С# 8)

 

 

 

 

 

 

 

 

 

 

м нац#

 

вИ(

 

ц8р#

е С

мвЦвИ

8Ц((

(м(

а#ц

(

Ц( Ц8СС(

Ф8 Ф

 

рем(

ФФвквИе

 

(

 

 

 

 

 

 

 

 

 

ок

НА ЗАМЕТКУ!

 

ЗФЕСЕУ !

Ф!ВТВ

!ЗУ

ТВСпЕ

ДВр!ТВ

Т Е Т!ТВН!

 

 

 

!

л

 

!

 

С!Т!ДУЕ

ТДЕФ!ЕТВеЗ в

Т

 

 

 

ЕСТ!еЗУю З! С!оД!еЗЕеУю

Ф!ЕТоТ

С оТДВеЗвЕН!ю

!

!

 

ЗЕоТДВеЗвЕН!ю ТВНвТ!

 

 

 

 

 

 

 

 

 

У ТВСпЕ

Н!пЕТЕ

Е!

ФВеВТс Е!р ЕТеЕЗЗУЕ

Т!ТУ

ДВр!

ТВ

!Е Е !ЗФЕСЕВН!

! Ф!ВТВ

!ЗВН!

ВЕ

ЕТ !ТДЕФЕ

Е

З!в !ЗФЕСЕВТ!ДВ Т!ТВ

 

л

!З!

 

лЕН ДВ

ЕФ

 

ЗФЕСЕВТ!ДУ ЗВ

ЕТД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Индексы

 

bЗ:o8Д

 

! С!a тИ88Дa(Ий8Н

В(

a:n:ВИ !ИВ!8!И:aйВ!

 

n(88!С(

!8):

 

8ИС!n ! :)( !!

 

!

8)еИo

!и)(х(

:А8Н o

s!8a:Зb:nе

 

a:n:bИеф

o!

СА!)!nе

8 o!bэ(

! А З

 

 

об)o

тaлП

(

 

 

 

 

 

 

 

 

 

п(Ч

:к#

 

 

 

 

 

Д

­

­

­

 

 

об)o

)(!

 

АПцП#!

тaлП А(

 

т

ss

 

 

 

об)o

(П оa#С

aп)(!

тaлП А (

Е

т

ss

 

 

n

8!!ИС

:А8АСе:А Зa!b: n(88!С(ф

 

s!

А!nе

 

в n т

)!С!З!А

o С!щb!o

b!С:b!т

!

!иo!

 

 

 

 

 

 

 

 

bЗ:o8Д С

 

):(a!щ!С(bД

8

!n!хйт

А!s(

в (

!И!nе

n!иВ!

И(oи:

 

!8Ие

(И 8

: етх!n

!и)(

!n

 

 

 

 

л!s!м

 

ч(!

т

 

 

 

 

 

 

 

 

л!s!м

А)(!

 

т

 

 

 

 

 

 

 

 

об)o

:o(!

 

цП#!

тaлП

 

( Мa#:(

ss

 

 

 

об)o

А)(!

АПцП#!

тa лПА(

 

):l

( и

ss

 

 

Диапазоны

!(s(щ!bД

(тИ С! n! иВ!8И

В(): (Ий n(88!С

!8): 8ИС!n

! :)( !!

 

 

 

о )

o(г Т лa !

тaлП А(

об)

)(!

бТ

тaлП (

об)o

ц СС П

тaлП

А!)!: к!8a! С З!(s(щ!b: С!щС)(х(:А a:n:bАД

я я

т

ss

к

с

Е

с

я я

т

ss

ы

с

вс

 

nnМ ! З # a ( Е ! a ! Д ! a ) И ! b ! К 8 М

( УУ

 

т ss

ы

 

 

 

НСaН:А8Н ы

 

ц

 

Аы(o кИ!

 

тв

 

 

 

 

 

b8х

вщ вддл сщэк юд к

л

 

 

 

 

=

s

= =

 

 

{

+'()(+-

"+

,

"(: +)+(

")")+(у -++:-+ ()+(+"

d"(++(

""

)",+'" M

 

 

ххC

 

 

 

 

 

"")",+')

(""+",+("') (

 

( )+)+=:. )")"

= =v

*v

)+

)v.'v

"-."F"+" (+"F+:.

""

 

 

 

 

>

 

= s

>

 

 

 

 

 

 

s=

=

s

=s

 

 

) .. +.- +. .=+=-*//,+==

'+r+)"(')"

)"(("()

")".)

("(",'+("

 

'+()"

уt

с

= х

"

Cl хt (+)++r++:')1 )"(("(

)("

()"(++")

{

)"(')1

,++-

)")+)"f

" ,+,d"))1

)"(("(

 

)+)"(("(

(+

 

"(."="1 )"((

"()

+==;;=-;: =;=.=;+==1,==

 

 

 

 

 

 

 

 

 

(+)++

++:')" )"(("()

+,

+(++.)(+

(

"()++:,+("'"")

,"

)+))=

+++)

 

"+"'"+-".

+r+",)"("'"+

 

(+ +

(+

"="."

)("("

"'+

+,

+(+"'"")(+)++r++:'+r+

 

(+)"('+r+)"(("("

(",

)"('+():.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еn

 

 

 

 

е >

 

>=

 

 

 

 

 

 

 

 

 

")vF

 

 

 

)"(("("

(+,(("="")

+"'+ ++,"

"''+

r+",)"("'"+

 

'"

"'"+(

 

 

 

 

 

 

 

 

 

 

 

 

>=е

 

е

 

=

 

 

 

=

 

 

 

 

 

 

 

е

 

 

 

 

е

 

>

=

 

 

 

 

 

 

=

 

е

= е

 

 

 

 

 

 

 

 

 

(+)++r++:')1

)"(("(

)+.")

,)

: "'"

""+","(+("' (+" +

.=")

+,(",+)

 

{

++(+,

 

"'"+)"(("("

"

"')"d'+

)("+

)

+="

)+ )(")"(+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еn=

 

 

= = е)'

 

=))

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{с +)"(")+("=

+,

+(+"'"+)+

+,'+r+(+

"-+

()f

"+"'')1

)+

++."('))у

)+."

 

,) :

+)+="'

 

 

 

 

 

 

 

 

 

=>ссfC .-

 

=

 

=

= ====

=

 

=

== == <=

<

==

и

 

с=

<

=

 

=

== = ==

 

=

== =

= =

 

 

 

ис

==

==/==< =</=/

/ /

/=<= ==­!=и

/=<с=

<= = =< =

=/

==/=/=!==/ =< ==!===<и !=и==/=!=и

=<==<=<

=/=!

­===!=!==<=><= !

 

<=

====

====

====

====

 

 

 

 

 

 

 

 

 

<=!=

=<= <с

=

!=/=<=<с=< =<= ><= ===!

!=== =<

 

и/==== =< != с==­<=и

!=

 

 

 

 

 

=!!и ! с=

<=<>

>=<>и==<==/====­

!=/

 

/=/

/

/

= //==/=<=<=и=> >

!=<! <=<

/ <с

 

=

!=/!

=/=

 

 

 

 

 

 

 

 

 

==

с = = =

 

 

 

 

с-,с й -}

 

[ ] { , [ -, с, -нс,с-­с, , l , с, , л -,с-с0 -с,с-сд ,с,с A -,с-си

 

 

 

,------1

 

,------1

 

 

-2)-

[+

11"1)

 

 

 

 

 

 

 

 

в -в у в 2

в

в в - в 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

(, 1

1

,

1

1 ,

1 }

)

;

 

=

 

 

 

 

 

,,

­

{}}

}

­

 

 

 

 

 

(

 

{

{

{

{

{

 

 

(; ),

)(

(,(

=(

(;

(

;{(

( (( (

( )(

11,

)(

(,

() )

 

 

 

 

 

 

 

) 1>1; 1 ;;{ 1}1}=,>,;1 t>{}

((()(

 

(,)((1

}()1,(}

, (y;

) )(),}(

; }

((,

1((=(}

(3)((,()

3((

((((

((()(

(,)

=(} 8,}{

 

 

 

 

 

)(((1()((),)

)

 

{

1(8

 

 

 

1(8

 

(1(

 

 

 

"((()()())()

 

}(; ( ;

(

} )(

}(

1(((

)

1( (>}

)((()(((,(

}(;

( ;

()(>}

 

(

})(

( }1(

(>

>

()((}(;,

)(()(((

=(3((

 

 

 

 

 

 

 

 

 

Стек

 

оАдИЕАТ оВЗУТАо

юаюиаУюд ИВЗТо!

ТУТ пЕВДАД!Т УюдВУл

Нп

ИАЕАЗАД Нп

! ИВЕВЗАоЕюЗс

оАдУю

! А д! ЗАУ! !ЗВАо Т

ИЕ!

ЗпюТА З ЗАоюТ !У!

 

 

до!е В Ию

УАЗНпюТВ

ЗАДл ВАо Тс

а

УТД!оАДВ

УАТ

е

!ЗАоюти

оюаНДАюоЗУАдВолЗД!ЗВД!Т

ИЕюЗАЕдВ ЗпюТ ю

юВм

ЗАДоВ ДАтАУВАо

Т

 

И

!ДКа

ЕАе

Да!Н

 

КД

АК!

 

 

 

 

Е

 

!!М

А

г

 

 

 

 

!!М

А

Да!Н

ДЕ

ю

 

 

 

с сооу с ­л с л у

45

НА ЗАМЕТКУ!

 

 

 

А ЕА

 

 

Е! ­Е !

А

 

Е

Н!!

Е!

 

­А

Е

 

 

 

А

АКК

!

К!

ЗАНАЕАН

Е!

! Е

 

 

А

КК

!

!

!Н Н

 

К!

Е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АЕ

 

А

ЕЕ К К Е

!

АК

!!А

!

!ЕК

ЕЕ

!

 

!

!А!

!

А

 

ЗЕКТЗА!

­А

 

АЕЕ

 

 

А

!

!З НА!

 

!

 

ЗЕ !

ЕЕ К !

! !Н Н К!ЗЕ !Е!

К

АК

­!

А !З Т!

Е

­!НАЕ

 

!

!

АЕЕА!

ТЗА

 

Е

К!

!АК

 

АК ! ЕЕ!А

 

 

 

З

 

 

 

 

Т

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

­!

 

А ТЗ!НАЕ!

А

К

!

!

! !ТЗАЕ­А

АЕЕ!

!

З!К Е! ЕЕ!

 

ЕТ Е

 

!

А ! ! ЕЕ ЕА

 

! Е ЗА­А ЕН! !Е

 

А

К

Е

 

!

 

­Е !К

 

ТЕА!Е!

!

!З! ЕЕЕ!

ТЕН

 

! ЕА

! Н! Е!

 

А­А

 

АЕЕТЗ!А!К

Е!

ЕЕ!А

ТЗ!

!­!

 

ЗАН

А­К

!

Н

 

 

 

 

 

 

 

 

 

 

 

 

 

! М

Переменные м параметры

47

Модификатор Способ передачи

Коrда требуется опредеnенное при-

параметра

сваивание 3Начения переменной

Отсутствует

п з

м

По значению

По ссылке По ссылке

По ссылке (только чтение)

При При

При

При

Передача аргументов по значению

 

! г!ИН(й!

 

гiй an

 

 

 

 

т

Нl!о

рiК!

!a!С!Н)!

 

saИsil:s :(гnг

С(:gС!:lС()i

йnг

 

:ИЗН(iгц

!

!К)(Н(il

Нl!

gС!

giСi

(Нiгil! З :!К

 

(il:s

А!g!s

 

К)(Нi)!s

 

 

м

м

я

 

яя

хм

 

 

 

 

 

 

 

 

 

ях

я

 

м

х

 

 

 

 

 

 

 

 

 

м

м

я

 

 

 

 

 

 

 

 

 

 

 

мх

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

яя

 

 

 

 

 

 

 

 

 

 

 

 

 

ях

як

 

м х

 

 

 

 

 

 

 

 

 

г!Оa(!a(й!

i

)!a!ф!

К)(Нi)!s

)i

!Кгi)sil

:!

iг !г!i

р! !г

Н

!

!

)(з! sl:s

a С(К)nз

sНiпА(з g(гsl!ц

 

 

iСi(Н( g!

К)(Нi)!Т

 

Згi)l(

::nИ!Н)! !

l!g( gС!a!

!l

А!g!С!a()!Т

 

 

 

й!

йiоя!р iАl(к

:Иi

ЗТиiг

gС!гiгi

гiк

l!

уу

a!

!l l!l

i!р

 

iАl

 

 

 

 

Ав!l!Сnа

рnИ

48

Карманный справочник по языку С# 8.0

{

{{

 

 

3{3{ {{/{{{/{{{/3

{ {

{{

3{/ / {3{ 3} {

3{

/

{

3

{{{/}3{{/{{{/3

}

{ /

/ {

{

3{{{

 

 

{

{{ { {{/

{{3 3

3{//

/ {{/ {{

{3{3{

{

3

{3}

{{

/{

 

{ 33{3{ 3{{

{{{{

 

 

 

 

 

Переменные и параметры

49

НА ЗАМЕТКУ!

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

жiаn,nsо сi.пктпуп

Аргумент ou t похож на аргумент re f за исключением следу­ ющих аспектов:

он не нуждается в присваивании значения перед входом в функцию;

ему должно быть присвоено значение перед y( cцTцc из функции.

Модификатор out чаще всего применяется для получения из метода нескольких возвращаемых значений.

еs.sяsrrlsп ктпупnпiдa.оsl ноrnsп

Начиная с версии С# 7, переменные можно объявлять на лету при вызове методов с параметрами out:

int . TryParse ( " 123 " , oол .пл Cc я Console . WriteLine ( х ) ;

Приведенный выше код эквивалентен такому коду:

int х;

int . TryParse ( " 1 2 3 " , out х ) ; Console . WriteLine ( х ) ;

Когда вызываются методы с множеством параметров ou t, посредством символа подчеркивания можно "отбрасывать" лю­ бые параметры, которые не интересны для кода. Предполагая, что метод SomeBigMethod ( ) был определен с пятью параметрами out, вот как проигнорировать все параметры кроме третьего:

SomeBigMethod ( out

, out , out int х, out , out ) ;

Console . WriteLine

( х ) ;

жiаn,nsосi.п дып

Начиная с версии С# 7.2, параметр можно снабжать префик­ сом в форме модификатора in, чтобы предотвращать изменение

щф юnCgn""НicлrCnз(i"uпcС(c.sНпсcаоcзрдc

Foo

( 2 3 ) ;

 

 

 

 

)+)+)+

,)+ ++))"++)+; ); +()+

)++()"(++))

()"'+";)'+)

,'",)=

'") ')+,+,"))+ '+ +)";")) );"

)")

+)+'

"()++ ,+))(+

 

ВНИМАНИЕ!

 

 

УаВЗУКД!К ДКУаТаВМКУ

ДУ ИВмВЗКМмВУ Т УМТмНМУЗФ ЗКт

 

 

МУТФТУМУмНи ЗНаНЗВКМЕТ

ТмФ

 

УиЕаУмТ!

МмКаФКМИКмКт

 

 

ТУЗИ!УТо!!

УаК!

ЕаУмУТ

 

МУвДУТВТ З ЕУФвВК КЕУ!

аН

 

 

ИВмВЗКМм аНУ

УаТаВМКУ

ДНЗс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МВДТВмМДУКаДВвКД!К ДКУаТаВМКУ

ДУ ИВмВЗКМмВУ ТУУеДУ

 

аНМ

ФТВаВДУЗ З!ТК

ТУДЕМВДМДУ

ЗНмВеКДУ!Т !У!

ТУДЕМмФТМУмВ

аКа ИВмВЗКМмУЗ ТУТ М!ИВ аДВ

КД!Т

КУаТаВМКУ

ДНКИВмВЗКМмН ДК

ЗУ

ФМаНМ

ИУЗКвКДН

ИУЕмКТЕМЗУЗ

 

 

!У!

 

 

 

 

 

 

 

 

 

аТаВМКУ

ДНКИВмВЗК МмН ТУУеДН

ДВ

УТ!М

ЕТ

ДКУаТаВт

 

МКУ

ДНЗ! ИВмВЗКМмВЗ!

З Уа

ТЗУКД!!

ЗКМУТВ !

 

м! К

ЗНаУЗК

 

!ЕТУевКД!КЗ ТЗУТеМЕТ Вм

ФЗКДМН ­

­ТУМУмНК ЗЕК

ТВмВЕт

ИУУВ

ВеМЕТЗ ТУДоК

ЕУКТФерКЗ

Им!ЗКмК

ТУТ

 

ИКмКТВКМЕТТЗ

 

ДУКаДВвКД!К

В ТУТ

 

 

ЕМВДТВм

ДУКаДВвКД!К

 

 

 

 

 

void Foo

( int х +rО,

int n +Оr)

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Console . WriteLine ( х + " ,

" + у ) ;

 

 

 

 

 

 

 

 

void Test ( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Foo ( 1 ) ;

/ /

1,

О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)+,)

(+)+")

+,;")'+)

 

));)+")

()"'+";)'+)

 

,'",)'")

+++

" ++","''+)

+('+ ,'",)'")

+++

)+); ),+))(+

(++),"'";+(")

 

 

')+,+,"))+

'))

)";")));)

 

(

=

{

 

 

t

i =

 

{еo

=C

Именованные аргументы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗКЕМУмВЕИУаДВЗВД!Т

Вм

ФЗКДМВИУ ИУа!о!!

К

ЗУеДУ

!ТКД

 

М!

!о!мУЗВМ

ИУ !ЗКД!с

 

В

м!ЗКм

 

 

 

 

 

 

 

 

 

л

лооу л с ­ос у

х = " строка" ;

 

 

 

хк 8%=%

&;&"+&1%

"-1 &к > х

+1

-" %+> %&к

х"о a; 8к">-

у= ;+к a=у

=%+ >=;+;%

;=2 к

%=у&;

!>= &/ +;1ii1i<=+=&=11i

 

 

 

-;

>=

 

%>+= =aк

1+к% к=%&"%

х>

 

"+"

хк

 

+" 2+" +1хк> i%

"о2+=2

>2a

>

к

к1

 

="%

 

 

"

%х%+%

1%+х

 

% 1хкi%

"2+

=+"8

"

+%&2

у" >2a;+

 

 

="&"х ;+к

у>2 -;+;

у

;-%хк

 

-х"&"+к% ;8"

 

 

"="

=

=%%+

8

1

 

 

"

8к% &к +1

 

8%

+;%+1хкi%

&"%

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-=>aк% > >2х";

у>=;i&1%

+1х кi%&"2

-;>a;=уa= ;-%хк&8

>к+ -; >%=%+;i%

 

=1

 

у+1х кi%

"%+ aкa

%хк

 

!3

+

>=%8=

 

%+-х"+%х%

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%хк"" +

 

+

 

=1 уa=к>>" "

"х +aккa1

 

 

 

 

 

"

 

 

 

+

к+">"+ >

"a ="=%>

;+-к%х к&8;+

>

a

 

х1+" хк" =

 

к 8"&

8+к"="

" кх&1% ;-%хк

""

+>% 8-кх"+%&2

 

 

 

 

;х+= к-">"

a"

 

 

х о%хк

"2

+%

к%

>2

 

+=+2

 

%хкк+"

 

 

 

 

 

 

 

 

-%хк

""a;

х1%2+=2

 

&%>2

%+=%+

=ок>

у>к+;

;

2 1aк&к 1+к

 

>2

 

 

х"+%х ++

i% >==i"

у

%хк

"2+1

 

+%к

;8к

1хкi%

"%

"+%

%%

 

к

%

"2к

1+к% >2

 

 

 

; к =

 

;-=>

;%+1х кi%&"% &% "+%%

 

&к=%

"2 &;&%

 

+

i% ">-

у= ;+к у+>2aк=%>

+% -%хк&8-кх" -;>

х;%&""

=;=%%

>=

i&1 +1х кi%&"о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

54

 

 

bесbooа

уиеbп

и

 

а

 

 

 

 

 

 

 

 

Выражения п рисва ивания

 

аМЗ

Х

LСМХLНОЗLОЗ

 

L

фLПХ

 

Х ХфЗ

L

гд

СМLНОЗ

 

LОЗ

L

СХМХПХ

 

гМХзежсЦЗЦЗ

Оа

LНжХ

L

гМ е

г

ОаМЗг

Х

L

 

ЗСМLПХМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аМЗ

Х

LСМХLНОЗL ОЗ

 

L

 

Х

еН

ОафЗХ

Х

 

ЗНЗП

П

гХжХ

зЗкж

ЗХО НХ

Х

МLНОЗLОЗХП

Х з

З

Х

LLХ

 

 

П Пе

Х

ОН

фЗLОЗ

сНО

фе

ОафЗХ

Х LХ

НжХге

ыХП СМLПХМХ

ОаМЗ

Х

 

LХСМLНОЗ LОЗХЦ

 

ХфХПХ

 

L

 

ХфХПХ

 

 

 

 

 

 

 

 

 

 

у

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кгЗ

 

НЦLжс

ОаМЗ

Х

L Пг

ХЦ LНСгжсзгОЗ

сН

гж

L

 

LчLЗжL

 

зЗчLL

ХНкгжскLш з

З

Х

L

 

 

 

 

 

 

 

 

 

 

 

 

 

я

 

 

 

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ож

НL Н

ЗкНL

 

ХНкLПН

 

кфЗ Х LХПк

 

кф

ПХL

LфеХ

 

фLНОЗLОЗ

LХН

фе

 

 

ХфЗ

ЗСМLПХМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б б

 

 

 

тц

цд

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бб

 

 

 

 

тц

цд

 

 

 

 

 

 

 

 

 

 

 

 

LНкж

Х

Х

LХL

 

 

 

 

фЗОLжЗ

кЗНЗХ

Н

 

 

кгЦгМаХ

 

МЗННПЗ

МLОЗ

 

Н Сгз

Х

 

ХфЗ

LL

 

L

О

LшЦМЗкЦе

 

ЦН НСХ

 

чLЗжс

аП

гиМЗзгП

L

гЦгиМЗ

З

 

Н

ЗНМХгНЦОЗ

ггН

еСЗ

L

 

т

Н

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р иор итеты и ассоциативность операций

 

 

 

 

 

г

гЗОаМЗ

Х

LХНггХМ

L

 

ХНкгжскг гСХМЗчL

СгМ

ггк

Оа

LНжХ

L

гСМХгХж

ХЦН

 

 

 

 

 

L

 

 

 

 

 

 

 

СХМЗчLL

Н игжХХ

ОаНгкLПL

 

СМLгМLЦХЦЗПL ОаСгж

 

 

СХМХгН

 

гСХМЗ

L

ПL СМLгМL

ХЦа

кгЦгМаш

 

L

Х

НжLгСХМЗчLL

 

LПХ

Ц

ггL

ЗкгОаХ

СМLгМL

Х

а

гСгМ

ггк Lш Оа

гж

Х

LгСМХгХж

Х

 

Н

ЗННг

LЗ LО

гН

с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т

я

 

я

щ

щя

 

х

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аМЗ

Х

+

 

 

+,м(+=­,,+­

C(C

+

(

 

s+.

.+=

м

..+,)(R(­

 

(+,,,

A.=,,

+,+.C(

+)(.)(,,

s

м,+

p

 

 

G

хi з

u

нр хi

uu

DDц

rnr u

r

 

Символ

Название операции

операции

 

о

я

 

>n

 

Доступ к члену

 

null-условная

зУказатель на структуру

(небезопасная)

( )

Вызов функции

а и т

Массив/индекс

+Постфиксная форма инкремента

Пример

2 . А

2мА

2­зА

2П

2++

Возможность перегрузки

Нет Нет Нет

Нет

Через индексатор

Да

ч

ы-дыттВ#тк-ы0л Pнткл иlВн.

-4uО

 

 

 

 

 

 

Постфиксная форма

ае,

 

 

декремента

 

 

Создание экземпляра

и-рнf р4

 

н Небезопасное выделение

-Д0ерФ

 

памяти в стеке

 

Получение типа

арбе

р Ф

 

по идентификатору

 

Получение имени

нфен

ещ

идентификатора

Включение проверки цело-

уанфе

н

ещ

численного переполнения

Отключение проверки цело-

щеФрс

-

численного переполнения

Стандартное значение

ит

ерФ

Получение размера структуры

п вн к вфюч

 

 

р,р

-

 

Ожидание

 

 

 

Положительное значение

 

 

 

Отрицательное значение

 

 

 

НЕ

 

 

 

Побитовое дополнение

 

 

 

Префиксная форма

 

 

 

инкремента

 

 

 

Префиксная форма

 

 

 

декремента

( )

 

 

Приведение

оЗначение по адресу (небезопасная)

Адрес значения

(небезопасная)

­­

 

 

Да

ае,

чрр -в

 

Нет

8-рс

срц ц

- я

в

Нет

-Д0ерФ - иаНв

 

Нет

арб ерФ - Ч П

 

Нет

нфен

ещ

Ч ч

 

Нет

уанфе н

ещ

лч

Нет

ще0рс4- - нфрд П

Нет

ии

ер

сQ- П

 

Нет

р,ри

- бДдри

 

Нет

 

 

 

 

а

 

 

 

 

Д

 

 

 

 

Да

 

 

 

 

а

 

 

 

 

Д

 

 

 

 

Да

 

 

 

 

а

 

 

 

 

Д

 

 

 

 

а

 

 

 

 

Д

ц ва - П л

 

 

Нет

 

 

 

 

Нет

 

 

 

 

Нет

В0ср0НяП48П81мНср+Пo8 нвн

*

=

%

+

<<

>>

<

>

<= >= i s

as

! к

&

 

Умножение

 

Деление

 

Остаток от деления

; ;

о

 

Сложение

 

Вычитание

;

Сдвиг влево Сдвиг вправо

о;

Меньше

 

 

Больше

 

 

 

Меньше или равно

 

 

Больше или равно

 

 

Принадлежность к типу

 

 

или его подклассу

 

 

Преобразование типа

;

 

о

;

 

 

Равно

 

 

 

Не равно

 

;

о

о

 

 

 

/3

 

;

о;

о

оо

Исключающее ИЛИ

х* у

х/ у

х% у

х+ у

х- у

х<< 1

х>> 1

х < у х > у х <= у х >= у

х is у

х as у

х == у

х ! = у

х & у

х =a у

аа а

СвС в

5

Да Да Да

Да Да

Да Да

Да Да Да Да Нет

Нет

Да Да

Да

Да

58

Карманный справочник по языку С# 8.0

 

 

х

I у

 

iтгмnймuJ

 

 

 

 

& &

+,

х

&&

у

iтгмnймuJTJ

 

 

 

 

1 1

+,+,

х 1 1

у

WlьurПкuкПuт >?==

 

 

 

 

Объединение с nul 1

х ? ? у

 

iтгмnйi­(тuркiркi­)

 

 

 

 

Условная

i sTrue ?

 

 

thenThis

el seThis

cрПтniПniкП­П г­дlsi(тiдя Т кПЛаПТ прПмрПтuу)

 

Присваивание

х = у

 

*=

Умножение с присваиванием

х

*= 2

/=

Деление с присваиванием

х /=

2

+=

Сложение с присваиванием

х +=

2

 

Вычитание с присваиванием

х

-=

2

<<=

Сдвиг влево с присваиванием

х <<= 2

>>=

Сдвиг вправо с присваиванием

х

>>= 2

&=

Операция И с присваиванием

х

&=

2

л _

Операция исключающего

Х

л=

2

 

ИЛИ с присваиванием

 

 

 

1 =

Операция ИЛИ с присваи-

х

1 =

2

 

ванием

 

 

 

=>

Лямбда-операция

х => х + 1

Да

Через &

Через 1

Нет

Нет

Нет Через * Через / Через + Через - Через <<

Через >>

Через &

Через л

Через

1

Нет

- i_1<1M>ik>kTW2a1h> > k

и с с

­­

 

 

 

 

 

 

 

 

 

= ==

=<с===

 

 

= и

и

=!

и==<

 

<<==!и=<== ==<

=<==

<

 

с=

 

=

 

 

==

с!с

<

=

= <!

!<=

< =

 

==с!с=

=<=

<

=!<

=! <=

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

==!=<

==с===<<

>==

<

!<<==

=

с=

==

==с===

<< >==

< !<!==

 

=< >

!=

<с= =<==

 

<

!

<=

!

 

с==

<== =с=<с

!==

!

и=

===

 

!

!

= ==

 

 

<=

 

!=>

=

<

и! =

===

 

!<

==

=

 

 

 

 

 

 

 

 

­­=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

!=!

 

 

 

= == =< =

===

!===

<==!!

 

 

 

= =

 

== ><с>

=с<с=

>

!

=

 

===с

 

 

=< =

=

= =

=

 

===с

<==

с!!=

=!

 

==с= ==

!

< с<==!

=

=

==<!=== <====

 

<

 

 

 

с==<

=с=с

>==

<

!

 

=

< <

<==!===

<

 

!

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

и==<

=с=и==и

= =

! <= с с==и =с=и=<

 

 

 

 

 

 

 

 

=

 

==

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

си==

 

=и!= =

<

!<

 

=

!=и=<== !=и=== =<с

>

!==< и=< =

==>==<

!

 

==<

 

==!<

<=<=<=<<

 

 

=

 

=и=

=<=

<

!<

 

 

<=

=

==

==!

!<=с=

=с= =

 

= <== с!!=

=!

<

 

 

 

 

 

!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

!­==

 

 

 

 

 

 

 

 

 

 

== "

 

 

"i +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ч= = "

++

"

+>

 

.=.

{

 

 

 

 

 

 

*)+S)o((=+)(

 

=.)

(+.( d)(

 

+)

=o=.=).)

+=) =..+.)){=

 

=+)S(+.(

 

 

rr

)*)=)++==d)(((

*)d +( ,

(,({.,

d)==.{.)=)

{

*

{.=

)(T

))

 

({

+..).)){=

 

 

 

r

 

 

 

 

 

 

 

 

 

==d"(

. (

.=";

", i+.(+

d=

"

+-

 

 

 

 

 

 

("" +(","2

1

d=

 

)=

;(",

. =(",

-++

;

+

 

 

=;> х

 

.+.)

.{= =)()

 

(+.(

))

+)

 

).S({

=..)(+(+.,

{.е) =))

().,

+)+-.*)> ({)

 

 

 

rr .) .)=d((

 

.+=

=))

().=

+)+-.*)>

 

.(

 

rr))

.{.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(""

 

(",

 

 

d=

.)=

;

, "L .

(" ,i2л ++

+

 

 

 

l+-

 

 

 

 

 

 

 

 

 

 

 

++

 

"" l+

;

=

;

l=>"

 

 

 

 

 

.r()

-)->

)+(.)

.>

))

))

{)*

( ..+)(==)

){=

+(,

 

=

=)

))({)+)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d)C(

= (,"

.=)C(

)

.

("

).

 

 

 

 

 

 

 

 

.(.

+(.()())),

 

=

3

3

T.)

))

 

rr{)

 

)(.{)

{()(.)v

 

 

.. ..*(

>

 

().,

 

 

 

33

3

 

3

 

T 3

­{){

==) +.(

.)v

 

)({.,

 

{).={.{

 

.(

)+(.) ..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.r()

 

)),-

 

)+(.)

.,

))

({

+..)(),{=.,

 

.

).{)

..+)(=

 

=-()=).

 

(())).

{.+)

 

*){).=(

)+..))=

 

.)=+(((

 

()..= ))

.{.

 

{))

 

..(( .

 

{o=

=

{=l

 

=

=

 

o.

==е

={

==

o=i=

==))

{)*

(

).)

)

.)

({)({., .

)+(.)

.(= )

 

(+.)().,

 

.

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

==d"( e (

re= ;(" ,

 

(+.(; d=

"

++

++ d

+

 

=;

 

dr*(",

d 1 d=

.=)="+

,"=-

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

++

=

;;

;

>+

=ОMс>­Lffnс>>{чс{dt>Mtf ====rf )(=

( 5 2 3 )

{

{3{{ 3

{3{ {({

{( 3{

({(­{/ 3­ {({( 3{

{ ({{{{

/

­

if ( 2 + 2 == 5 )

Console . WriteLine ( "Не вычисляется " ) ; else

Console . WriteLine ( " False" ) ; // False

Внутрь конструкции else можно помещать еще один оператор

if:

if ( 2

+ 2 == 5 )

Console . WriteLine ( " Не вычисляется" ) ;

else

 

 

.п

cl >

l ff Rг

rяcяяiс

р 0д.л сo.cс c N.t гot <чao< . C V ьь .t гo:< чao<

Изменение потока выполнения с помощью фигурных скобок

Конструкция е l se всегда применяется к непосредственно предшествующему оператору if в блоке операторов. Например:

if ( true ) if ( false }

Console . WriteLine ( ) ;

else

Console . WriteLine ( " выполняется " ) ;

Это семантически идентично следующему коду: if ( true )

нtif ( false)

Coпsole . WriteLiпe ( ) ;

else

Console . WriteLine ( " вьmолняется " ) ;

Переместив фигурные скобки, поток выполнения можно из­ менить:

if ( true )

{

if ( false )

Console . WriteLine ( ) ;

else

Console . WriteLine ( " не выполняется" ) ;

В языке С# отсутствует аналог ключевого слова "elseif "; однако приведенный ниже шаблон позволяет достичь того же результата:

64

Карманный справочник по языку С# 8.0

>=

­

 

 

 

 

= == = /=

=

=

и

­ и

! =!

=>=

­

 

 

 

===== ==/=

=

=

и

­

!=! =>= ­

====

=== =

=

и

и и и ­

= ==

 

 

 

 

= == =

=

= ===

и

­

с=и=>==

 

=<===!==

 

! =!с= != =

!==<==с< !=!==<

===!с

<

==

=====

!=<==

===! =

 

= = <

 

=!=!==< =<=<=<

=!==< ==

===<==

!==

=

с ====< си ==

!с<<<=

==

<=

!

<

=!=<==!

!=

=

 

!=с

=

==<

с == и

=

=

=

< ==

==

<

===

=<

 

 

 

 

 

 

=

 

/>

==

=

= > = =

==­

 

 

 

=

 

> >=

 

=

­

 

 

 

 

>==

= == = = /= = = и и ­

==

>

==

 

 

 

 

 

 

 

 

 

= == == =

= =

­

 

 

 

 

 

==

 

 

 

 

 

 

 

 

>

==

 

 

 

 

 

 

 

 

 

=

=== =

=

==

­

 

 

 

 

 

=

 

 

 

 

 

 

 

 

=

 

====

и

и

> = = ==

 

 

 

= ====

= =

===>

==­

 

 

 

 

==

 

 

 

 

 

 

 

 

=

< == =

====

<

и

== =

==

 

==

=

=

= ==<=<

=<====!<

== <и!

=с<

=

= = ====

===

 

/

= <== =<

=

 

=

 

 

 

 

 

 

 

 

 

 

 

} ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;)()Д)" ))Д.()Д"

)(

)(

;)(

l,l;")("

5,()(

 

 

)(

(

2Д)5/

 

Д.")Д

")"."))(]

 

Д l()5));lsДД

 

З

/),/l)5/

).)(d")Д/.Д

 

;(l()Д)(l

Д.Д ;(

/)..Д

(

)"

(

")()()(.Д}

 

 

")"l,l;")Д"

.(d)(

 

)(ld"

()a()Д;()()[

 

 

( .)(d"5))"))..

 

;)(;")Д/.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3)(

 

] ;.Д" l

 

((s[

C(

 

l"

(

)]"(

 

[

 

 

 

((

(C3)/]

) ;"

l

; . )(1l/

" ( l

)/)."

; (}

(3l

 

 

 

{

c

 

2)1")

;

l

 

 

;

;

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c о ./ ) М;

 

 

 

{ ;

;

;

 

 

 

 

 

 

 

} ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

у

З

 

у

 

З

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;.l

 

 

(;)(,/")

.)( (l)(

))(

).

(,)

/)[

(5,"2()()",[{

 

)(5)[

( ")()()()

5

(.(

[l

(

")()()()

 

 

{

}

 

{

}

Д

}

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}ух

{a cl[ уCl,{ acl[

 

 

 

 

 

 

 

 

 

 

 

Дl,.

 

 

{.)(

 

(l)())(

 

). (,)/l)

 

l(2 )

5)(".

)","

2(

}"

 

()

(l()";;,[)()(.

 

).;Д5,")Д/ ).)(d")Д/

 

}}

/),/")

 

5/ s

{}

 

.)(d

")Д"

 

)()")/")5/

 

).

(,)")Д".

 

)",(

Дl,(}

 

(

Д."

 

,"

;l{Д] l

).)"

")

 

 

 

 

 

 

 

 

 

 

 

(L

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ТQ

4#

н

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 3

 

 

 

яj o 6ч

о o 6ч

 

С

o

 

 

 

 

 

.0. .4#

eК L#

н

 

 

9

 

 

 

 

 

 

 

 

 

68

bнсbooа уинbпС п иС а

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{{{ {

{

 

 

{

{{

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/ {{

{3

 

3

/{{

/ {{

 

{3

/{(

{

{{(

/{{

{{(

 

3{{{{­

// {}

 

 

 

 

/

 

 

 

{({({({{3

 

 

 

/ {{

/ {

{3

({ / {{/

3{{{{­

//

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{{{

 

 

 

 

{

 

 

 

{{

3{{}({{}

({(

{{

 

 

{{3{

/ {{/ 3

{

{3/{/

/{ {/

/{­(

3 {­/{/

3{

 

(( 3{/

({{

 

{3

({({({{{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{{{

 

 

 

 

{

 

 

{{(

{{{{{}({

{3 3 {{{{

(

 

{/(

/{{

3{3{3( {{3{({}({{}

 

 

{

3/

({{

/(

/

 

{{

({3

/ {{{{3{{}({{}

 

3{(

{3{

{3 { ­{3{/(

 

{({

 

 

 

{{{

 

 

 

 

{

 

 

{{{3{{}(

{}

 

 

{

3

 

/

({{ //

/ {{

 

{

{{

3 {

{3

{/{({}({{}

 

{} 3

{3{{({/}

 

{({({({{3

 

/{({{

//

 

 

 

 

 

 

 

 

 

 

 

 

{{{/{({

{{(

­

/ 3 {{{3

/{

/{{{ 3

 

3

 

 

 

 

{

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{{{ {

{

 

 

{

{{

 

 

 

 

 

 

 

 

 

 

3 {

{{{{

{{((

3 {{{3

/{

 

({{{(

 

/{({

/ 3{{

/

 

{(

 

3( /{{3 }{{}({{}

{­{{3

 

{­{{(

 

({{{

­

/

 

 

 

{

3/

 

 

{

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

{{

{

{

3{

{

 

 

 

 

 

 

 

 

 

 

{

 

{

 

 

{

{

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

{{

 

 

 

 

 

 

 

(

 

 

 

{

 

{{}

 

­

{{

­

­ ­

 

{

{{/

 

 

/

{

/{{{

({{

/ {

{{/

(

( {

{ (

{{{

{

({{

{

(

/ { {

{

{{ (

 

 

 

{{

{

({ {

 

 

 

 

 

 

{

3

{

 

{

 

 

 

 

 

( {{

НА ЗАМЕТКУ!

 

 

Е!З

ЕМ ЗН

М!

З

З

М

!З !НН З

!Е!

!Н!Е

З УЕЗ

ЗНМ

К

 

З!Н !

З ! !

 

ЕМ

ЗЕН

 

М !

НМ

М

 

 

 

!К!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е!ЗНЕМ ЗН

М!

З НМ

З

К!

 

М

!ЗН

У !ЗН

КЗ

!

 

 

 

 

 

 

 

 

 

 

! Н

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К

 

З

ЗК

З

 

 

 

!УЕЗ

ЗК

ЗНУЕ!ЗН

ЕМ ЗН

! ! З

К Н!У!

 

 

 

НЕ!

М !

!

К!

М М Е!

ЗЕ

 

 

 

 

 

!Е ! А­Е !

 

Н !

 

 

К!!К

 

 

 

 

 

 

 

{

1

(((

{

(((

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

(((

{.

(((

 

 

 

 

 

 

 

 

 

 

 

 

 

)()(

"

8)( )111

 

 

(((,()1(,8

"{)1

(,() )),(

 

 

,((()1(

 

8({

 

(

)

))1;

"

 

(1 (){)1,"

)(

"

"1)1,"

)1

,()111;

 

){;

,("{)(;

 

 

 

 

 

 

 

 

 

 

 

 

 

((8"(1(1" , "

{ ((8"(1(1" ." (( 8"(1(1" )("

1.

(((

{.(((

1.

(((

{. (((

 

(1)),

(

1)

 

,",

{( 1(

(

,({(

 

)

(

 

 

 

 

(,((()

 

8

)

)),

8()

,(((,()1(,8)

 

"{)1

(, (){(

( 81)

1)

(1(

(){(

(

81;,()11)

(

)

"{)(

8(

)

{( 1(

1)(

((()),

(

1)

 

 

 

" ,()111;

) (

,("{)()

 

{

{

 

{

 

 

 

 

 

 

 

 

 

 

 

 

}} ­ }­

Область видимости имен

 

.1

iн5B

3.61

н21.5 .н1тн-u

0.5.3.i

.3.iu

-.1н

.5р73

-.056m95.i3m.3

.5 .

73.1

-u0.5.3.iн.3.iu

 

-.1н

B19 45056н-

 

316

н5е57Si9iн-3

0.5.3.iн.3.iи

я .6147gw1.

0.-.1.1

п

йй

н1

н7

4i13.3 .

7Si9i

--

0.5.3.iн.3.i

 

-.1

.

73.-

иl

 

 

 

-

Ba-8

9a

 

 

a5

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{{

 

 

{{

 

 

 

 

 

 

 

 

 

 

3

 

 

{

 

33

 

 

 

 

 

 

 

 

 

 

{

;2

 

(( l2

((

 

((

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

);(

 

d/(.

 

.5;{53(,5

)).;d/l)1

(;

3); 5l)./)(

(.)d)}

{((

.)5)/)d

)/)

(,.

 

/5 ,5

5.)(,.

1/l Cd)/(C ;d3d5

5.

(,1{

а)() . .

 

 

М,( .а)(,.).

;d))

l

l

оМ)

М)

 

 

 

 

 

l

 

 

о

 

l

 

 

 

 

 

 

 

 

(

;](;

 

3]

 

}{/

]. (

);; (}

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

;](;

;]

l);;)(

 

 

 

 

 

 

 

 

 

 

{

3

 

((

];)

a

(]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

;](;

3]

 

 

( ];]((

];)/(.(

 

 

 

 

 

 

 

 

 

32 (( Х

 

2](

];)/(

l l

[

) l..

/C)

 

 

 

c]

Д

у"l/;

Сокрытие имен

 

 

:

!!В)!

! l! П# !b

l!

( a:l8#Н(#l:

a!

a)Зl8#))#b

 

! a!

a)#

)#b

 

8!:l8():la#

 

!b#)

 

!

8#!bЗ

#:la!

!ИЗН(#l

l!

 

a)Зl8#))#

!

 

8!:l8():la(

 

!b#)к

 

l!Мn :!:И(lб:

)(

l!

 

a!

a)#к

)#b

 

8!:

8():la#

!b#)

 

!b

 

!l8#МЗ#l: Зl!Н)!lбц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЧИ

ПИУНдС е!

 

 

 

 

 

 

 

 

 

 

:# !b#)(

l!

!a

a!

a8#b

А!b

 

д!!

8#!М8(лЗТl:

 

 

 

a

!И)!:lбТ

л(В())n#

 

!b#)(к

А!В#

)(

8!b#ПЗl!Н)!b

 

 

 

 

лnА#

 

 

 

 

 

 

 

 

)#

!И)n#

!И!

Н(:l!Нк

 

 

 

)! л(В())n#

!b#)(

!l:Зl:

aЗТ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Повторяющиеся пространства имен

 

 

 

 

 

 

 

 

 

 

М

 

aИ#)!#

8!:l8():la(

 

!b#)

b!П)!

 

!al!8

lб#:И!

!b#)(

l! !a a

 

l!

8!:

8():

a(

!b#)

)# А!)ьИ!АlЗТ

В8З

:

В8З

 

!b

 

х

 

д

 

 

дм

к

 

 

д ххд

 

 

 

 

 

 

 

 

 

х

 

д

 

 

д мдк

 

 

кд

хд

 

 

 

 

 

 

 

 

 

 

 

И(::n

b!

В(П#

!

a(lna(

бь(пИn

!:

!В)!

! А!В(

! :М!8А!к

Квалификатор global : :

 

 

 

 

 

 

 

 

 

 

 

 

 

)!

ч(

!И)!:lбТ

л(В())!#

 

!b

l! ( b!П#l

А!)ьИ!Аl!a(lв

:

А(А!b

l!

a)Зl8#))!b

 

!b#)#b

 

 

!Мn

(

(a!А!b

 

!

!

!Иб

!a(

!И)!:lбТ

л(В())!#

 

!b

l!

(

# !

!)(В!М!l:

 

:)(М

В!lб

8#ь!А:!b

 

 

ус

 

А(А

!А(л()!

)!П#

 

 

 

 

 

 

 

 

l

)l

 

мдк

д

м м

 

 

 

д

 

 

 

 

 

 

Наз на ч ение псевдонимов типам

ипростран ствам имен

П -МЦLМ-ОЗКLВ

М-НЦМЗКН ОЗLПВК П-лВЦ

МLОВНЦL в в-К

 

жLв еLПВК

ЦL

ПВНЦ-

-жК-

-

М-Н

МЗКН

LОЗПВК П-лК-

 

LП -МЦLМ-ОЗЦс

Ц-жсв-

Н

ВчL

LйВНвLВ ЦL

а в-Ц-МаВ КелКа

L

КЗ КЗйЗЦс вЗлг-Пе

ЦЗв-Пе

ЦL

е

НВОг-КLП

З

МLПВМ

 

 

 

ц

 

 

ц

цц

ц

я

ц

 

 

 

 

 

 

 

 

 

 

 

 

йз

Псевдоним можно назначить целому пространству имен:

using R = System . Reflection;

class Program { R . Propertyinfo р; }

еднууиt

Класс является наиболее распространенной разновидностью ссылочного типа. Вот как выглядит объявление простейшего класса из всех возможных:

class Foo

Более сложный класс может дополнительно иметь перечис­ ленные ниже компоненты.

Перед ключевым словом class

Атрибуты и модификаторы класса.

 

Модификаторами невложенных классов

 

являются puЫic, internal, abstract,

 

sealed, static, unsafe и partial

 

 

После имени класса

Параметры обобщенных типов, базовый

 

класс и интерфейсы

Внутри фигурных скобок

Члены класса (к ним относятся методы,

 

свойства, индексаторы, события, поля,

 

конструкторы, перегруженные операции,

 

вложенные типы и финализатор)

 

 

апены

Поле - это переменная, которая является членом класса или структуры. Например:

class Octopus

{

{ {3{

{ (

 

{ {

{ {

(

Поле может иметь модификатор readonly, который предо­ твращает его изменение после конструирования. Присваивать значение полю, допускающему только чтение, можно лишь в его объявлении или внутри конструктора типа, в котором оно оп­ ределено.

6,

дхWрх..kэж pъWахtS.e.ж ъtжsвk.тжoождреж

{

 

{

{{);)

;) ,

)

 

(;;,

(

{

{

{

{

;

 

 

 

 

,(,(((((

 

,)),"(,,

>,}(8.,

1,)""

,>}(((1()({}"=

 

")),)"

{

 

 

 

1(1

) ))(("

 

((),)

1,(,},"

 

),t(,

)}(

)"(,(

((1

(

) ,),,)"

,")((((1(

((({(()(8({((

 

),)"=

},)"

(,>,

1,(,(((((

 

,()(1("(,,

 

,(

),),

 

{

 

 

(")

1(, ""

),1(,)"(("

)},(,{

,.((

((

 

(()" 1,))(),{((

 

,(,((((,

((1t"

),>1(

,1 ,)),(

,,

),1()

(,

)

)"(,."

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

( .An;,{}

 

"(,. ),),)(,"(

."=,()(" )

,})" ),,)".,)((")

(,,((

,)"

}((,},)

"(,. ),t"( ),)11((

.(((,"

(8

),8,

)({}">,

1,.(

),,}".,(),)

11(8(((,

( ),8)}

(}((

 

{(({

 

слово (Уы:(

в

исирхН мхтесбори

тоип

ц

22

цЗ и 0

 

с

 

 

юрттооs ткидри

не

лркикиропs

сефюд дитки осидф леслки

щиисрп

дов чс

 

 

 

 

2

В 22

цЗ

0=>

=/ =

=<===

=/=

и­ с

 

 

/==! ==== =

с= ===!>= /=======!и

===!>!==

!>=/= / ===

=/====== /с=и!=//

=!=/====

==== !=!=

и/

=

===== /====== =

/=и===/== ====!>==! с==!

====!===с=

!>=!/

! =/==

 

 

 

 

 

 

 

}

у )

;

 

 

 

 

 

 

 

­у})

;

 

 

1{l;s

а

 

 

 

 

 

 

 

tМcsc}{]у Му

 

 

 

 

 

 

 

(

()(1 )

).])((

 

,./"3 ](;].

.)" ".].3.;1/

));/](

3];

"

,"./"3(

 

 

 

 

 

 

 

./

 

­

}

 

­

 

 

 

 

 

 

 

 

 

 

 

 

 

­}

­}

 

=>

 

 

 

78

Карманный справочник по языку С# 8.0

{

 

 

 

 

 

{

 

3(

(

{

{ (

{

 

3(

(

{

( 3/ ({

 

 

{

{{

 

3{{ ­( . . . }

 

(a2((2() 3()5C);3C() ).;.)("C

2);a(]

C( .")).

 

)..(,

)/"C5/

 

 

 

~

 

 

 

 

 

~

 

 

 

 

 

З

 

);a( ; 3()5C);3C();

 

(d)(

.")"2()(C[

 

 

 

 

 

;.

3{

("

]"3

);

)3"

 

)

" ;")

")/[

 

 

 

 

 

 

 

l

(

5;

3"о [{)(

 

{)(

 

{ . . . }

 

 

 

 

5(

).)(d")((

 

)" 2(.;53("C5/

)(

")/)[

55.,3;

 

 

53(d"

,/).;

)(

 

")

( 3;"

 

,/

(

"

)"

")""

).;.)(C

5C(C(;"53("

"C(2. )(;)"

")(

 

 

 

 

 

 

 

 

 

 

 

3cоCtМcl{t{}{}l{{{у

Му ;clу{;{;sc{{{Cу

 

 

 

 

 

 

 

(

.(,/C()

()C(

(C(;"53(

")")();"C

2,/

3,(55(

(C3).

C.]

3()5C);3C()

;";

.()(

" C)()

 

C(a2( (

C(,[3(

C(a2(

3(

2()

)"

)" ;.,(

(.)"2",")(

 

)(

(2)(a(

3()5C);3C()(}

2)(3( .(5,"

(.)"2",")(/

 

l(C/ ;.

 

(2)(a(

3()5C);3C()(

3()5C);3C()

;";

.()(

"C)() ;(,[

" ()C(

 

(C(;"53(

)"

a")")();"C5/}

 

 

 

 

3c{{l{М}Мcуl{t{{{}l}{{Му

 

 

 

 

 

 

 

 

 

 

 

 

()5C);3C().

)"

(;/;(C",[)(

 

2(,d).

;.C[

(C3).C.

(

(5.)(5C)()"

))(]

.)(;()(]

 

)(

,(;(/

)"(C3).C(a(

3()5C);3C()(

/),/"C5/

;.)(),")("

 

 

5(;2()("

 

 

 

3;"

./)(),

;")";

).;()

5C(C(

;"53(a(

"C(2(} C(C(

"53(]

"C(2

(d"C(5.(,[;()(C[5/

 

2,/

)(;)

)(

")(/

(;

"3C( (;

.;,(

 

)

 

"5C(5(;2()(/ )()(a(

(;

"3C(

(,(

2,/

)(;))(

")(/

5."s((

,(;()()())(a(

 

.(23

,(55(

).;()(

"

(a()(

(5)()"

)l(2).l

()a;

")C()

 

 

 

 

 

 

 

;}а

а

 

 

 

 

 

 

 

 

C( ))"

/ 3(3 3()5C);3C() (;.;)(

.)(

)(

("C )(;()

;)(;"

)(]

))(2"

.()( "C)()

( .)(5)(

()("C

(l

.(,/

2"3()5C);3

C()

 

2",("C .)(C()(.(,(d)("

(

.)(5)(

()("C

.(,/

)(; (

80

Карманный справочник по языку С# 8.0

Классы 81

НА ЗАМЕТКУ!

 

 

 

К

ТН ЗАЗ

!КК!

Н

К

ЗКЗА

АЗ !З

!!К!Н Т

ЕА

ЗНЗ

З!!К

 

 

!!ЕЗ­! КТ

!Н!У!

ЕЗНЗ

КАН Н!МТ

АКН

З

УК Н

ЗТЕ!

К­

!Н!З

 

 

 

 

 

 

 

 

 

 

 

 

 

­

МЗ

!Е! !Е! !А­! А

!!

 

 

!УНА­

!Т!

ЗН М

ЕТ!

М

­! ЗК

ЗНКА

 

НТН

ЗНАЕ

К­!ЕТЗМ

К

 

 

 

 

 

 

 

Е!М

З! ЗНК!ЕЕ

 

М

З­З!

АЕ!

А

!К!

АЗЗК

 

З!К­!

 

У­!АЗЗ

 

 

 

 

 

 

 

 

 

Н

 

 

ЕММ

 

!!

 

 

 

 

 

 

 

 

 

 

{

 

.;

.a

.(

 

)

][

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

.;

 

..2 а.

].

)

 

. .

а .

].

 

)(.[

 

 

 

. );

 

.((}

l[

 

 

 

)

]= "- у

 

 

 

 

.

2.;

.((}

l .(

)( C

,[

 

 

 

 

 

(=++2,+"'";""+",")+()

+,

"+)+(f(+,F"(")2

+

"+))

 

)+.'+

)"+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)")=

1

).=

 

i))=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:. "=

,

 

 

 

 

 

 

 

 

 

 

 

 

 

=)

.)1'

 

).) =

 

).

 

 

 

 

 

 

 

 

 

 

)

.)

)

'))

=

'+).

 

 

 

 

 

 

 

 

 

} ;

 

 

 

 

 

 

 

 

 

 

((}

l

(]}

 

.((}

М ;

[

 

. ].l )

.

=. .

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=)

.)

) '))

1

'+).

 

 

 

 

 

 

 

 

 

 

 

} ;

 

 

 

 

 

 

~ ­ l;З;l

 

 

 

 

 

 

 

 

 

 

 

 

 

).;2(

о

;2(;.)((.

 

)(

)(,

 

2;(,а;

)

);(

;a{(,

аs(

,(s(

,(.5

 

у

 

().5;l;;(.

)).;2;

 

о

; ;).()5)2(

.5;

уоl

2;(,.;

)(

у

о l

 

 

 

 

 

 

 

 

 

.

2

;2)..

)({)

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

82

Карманный справочник по языку С# 8.0

83

НА ЗАМЕТКУ!

 

 

ТД!

КИ!ЗЕКнКЕСД! Ие!нК

ДТеСЕТ

!СТеНСНК

И!ЭТ

вС!аН

 

 

 

!аЭ!

ДК ДК ФЕЭ!еДТСл Ие!нКеН

!

ДК !СЗЭКТВСл

ЕФС!

 

 

 

 

еКВЭлД!н Ие!Э!еКД!!

 

ТЭТ Е!ТКюЕСЗ!Т

!ДТВИЕФЭТо!!

 

 

 

ИеКТИ!вСКД!К

!аНвД!

!СТВКСЕТ !СТеНСНн

ЕЗ!юЕСЗВн

В ДК

 

!СТеНСНн

И!ЭТн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

З!юЕСЗ! аФТКС ИеКТДВаДВвКД!

С!ЭлТ!

ТЭТ вСКД!Т

КЕЭ!

ТЭТ

ДК

ФТВаВД!

! !ТД! Э!

лЕе КТЕСЗ!

Т!ЕСФИВ

л ! С!ЭлТ!

ТЭТ аВИ!

Е!

КЕЭ! !ИеКТКЭКД!

!ТД!

Э!

л Ее КТЕСЗ! Т!ЕСФИВ

л

З!юЕСЗВ

С!ЭлТ!

ТЭТ аВИ!Е!

!ЕИ!ЭлаФеСЕТ

еКТТ!

 

 

 

 

 

 

 

 

 

З!юЕСЗ! !аНвД!

!нККС

!СТКЭлД!К И!ТТКее!ЗВе

КК И!ЭК

Ие КТДВаДВвКДД!КТЭТ пеВДКД!Т ЭКеВ

 

!п З !ЕД!ЗК ТВДДНп

КнДК

нКДКК

С! ДК!аТаВСКЭлД!

 

ЕЗ!юЕСЗ! н!еКС

З!аЗеВ

В Сл аДВвКт

Д!К ЗНв!ЕЭКДД!К

ДВ аВаК ТеФ

!пТВДДНп

ВИе!нКе

 

 

 

 

 

I#

4.8.

 

40

н#0(

.4#

.Q.н#.

 

ТL#I

 

 

 

 

 

 

 

80

 

4I#4 8.4 К.нL

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(/

 

(/{

{

(

/

 

{

{ ((

 

(

 

 

 

 

84

 

{

 

 

t

 

t

 

t}t t}

 

 

 

 

 

 

 

 

 

 

 

",.(;1/"s

()/",(

/(C([2(

[";}((/

;(2)./"(

."}}(s]()(a

{((

.";(

["

[.({((;l).,

[

()()()")()).,

(,()(,

[[.;(/l[1

)(

2"/")"(

)()";,"])"{

s(}[/)" }"[/;

( lо,"](/ ;./l

.",(

C()" 2(2

 

 

уоl(;(

l о оl

([;(

[)"l[/)"

}";])"

;./l

}"[/;.)"

});

(,

/(

(, /";l2" };1

/()(1

 

 

]ХХ{оХМ{ {а {

(C()(1 [ )()[((

2 ()/",(/(

C([2(,

[)"l[/)(,

,"])"

}"

;();1/l ()({((;(;(/"s.

[)"l[/) ) /"

)"[/(

2(2 2 ";1,

 

 

t

t­}

tt

t}

 

 

l}

Доступность get и set

 

 

 

 

 

 

 

 

 

Дs т t g т t

 

уg

т уsт Дt

 

sДg

g

т t т

 

 

gу s tДД уs s s т

 

g

т g

уg

 

ьtтgДgу т

t

о

 

 

 

ьt t

о у

Дs

т gt тt

 

 

 

 

 

 

 

 

 

 

 

Дge

eтД

 

 

 

 

 

 

 

 

 

 

т

тeт Д

 

 

 

 

 

 

 

 

 

{

;"

 

"(,

)

y (({An

) ({

(

"

 

 

 

 

 

(1;;){

("

 

 

 

 

 

 

((,

 

,(3}

,(} (

­,(

(,(

3(

 

,3((

;3)(}(

()((

)

((()

}

, ;((3}(,

1(

,;,(

 

31(}}),

 

);­(( ( ,

((1

13; 1)

,;

( ,)1)()(

1)) })

 

1

1)

1;

}

, 1) (3)(}

,)

1,),(

(; ,.1 >)An;={}

 

 

}1(,

(,((

 

,((1)(

(

,

(

,(

,3(}

 

},(,

1

; 1(

,;

,(

,

)(,(},(,

3 ,)(

 

(

)

,(;,, ;((

,(,(((;

},(

)

; (;(,

 

 

)

(, ( )(3(( {}(­(}

 

}1(,

(,((

,(1( }

3(

,3(,

}(

,((1;

,(,(

3(

,

1(

,;, ­((({

((

;,(}

}1(,

( (

}(

,;

3(

 

3()(

 

 

 

,((,

}1(,

(,((

,(,((

,({3();(,

,();

(

 

1(

,;,

, ,( 1(,;

 

(

( {}(

(}

 

)

((1

 

3), }

1(,

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{,(

(

;(

y

("

 

 

(; (;

 

 

 

 

 

 

 

 

, "

1

)

 

 

); 1;

);

 

 

 

 

 

{,(

 

, "An

)>"

)("{

}

((;

,;

)

 

 

 

 

.,

}

" An

87

Использование индексов и диапазонов с помощью индексаторов

(С# 8)

 

ДВВ#СП!aЧlб

a :aД!з

АИЧ::Чз !)В#А:n

! В!ЧgЧКД)n

:b

СЧКВ#И

)В#А:n !

В!ЧgЧКД)n

 

 

:lС

bДП)Д

 

КЧ :Н#l

ДgС#В#И#)!s

!)В#А:ЧlДСЧ

: l!gДb gЧСЧb#lСЧ

ч

в

!И!

 

сч в

n bДП#b СЧ:

!С!lб gС#ВnВЗ

gС!b#С

ВДМЧa!a

a АИЧ::

вчсвч в :И#В ЗТ

!# !)В#А:ЧlДСn

 

 

 

 

 

 

 

 

И

т:К (и

 

:#

иб:(

#

П :#

П

=>

=

=<=

 

 

с

===

 

=<

 

==

<

 

<

=>

=

 

=

<

 

=<==>

=> с><=>==с= == =

 

 

 

 

 

 

 

<

=<

<

 

<

<

 

 

 

 

 

 

 

 

=<===

 

=

=<

=с

 

 

 

 

 

 

 

 

 

=

<

 

=

=

= = =

 

 

 

 

 

 

 

 

= =/ <==/>===

с==>=

 

с==<===>>=

 

==>с

<>

=>=

 

с=>

 

=/=<=>

<= ==>=

<><с=><=с

=>>>/===

=/ <==/=>=== с==>>==<>>с

<=

 

/=/=

==

=<=

=/ >

=

/=<= => </== =>/ =/

 

 

 

 

 

===

=

=!=

=<==

=

==>с==

= =<> ==>= =/ <===/ <=== =/ <==/

=>===

с==> ==>=<

<>=<= =

=/== /= =<=/=<=== ==

=>== >=/=/

// с<===>=с==>< ===/==/> > =/<= <==

с= =/= / >>==с===

=/ <==>=с<=с =/=с

ВН ИМАНИ Е!

 

:И! :lЧl!Н#:А!а

АД):lСЗАlДС

ф#)#С!СЗ#l

)#ДМСЧМДlЧ))Д#

 

!:АИТН#)!#

lДфВЧ l!g А АДlДСДbЗ Д)

Дl)Д:!l:s

:lЧ)Д

 

a!l:s о

ы

р оa П!К)#))Дb

д!АИ# gС!ИДП#)!s

 

 

 

 

 

 

 

 

 

)!д!ЧИ!КЧlДСn

:lЧl!Н#:А!з

gДИ#а КЧgЗ:АЧТl:s

)#gД:С#В:

la#))Д

anКДaДb :lЧl!Н#:АД

Д АД):lСЗАlДСЧ

:И! l!g )#

88

Карманный справочник по языку С# 8.0

 

c l a s s C l a s s l

 

 

 

 

 

 

 

 

 

 

 

 

~Cla s s l ( )

{

. . .

}

 

 

 

 

 

 

 

 

 

 

",а(;

/")

 

/)());();

/

()(;(

(/")

)

,(/"}

2"/").l

а

)

"

)

}(

,(/" /

у

 

l 2;())(

 

l

;")2( ,;)")(

(

()(;(;(

").

а" )";)"

";);]

(

/)

 

;()(

2)(

(

 

 

 

 

~

 

~~

З

 

З

 

 

 

 

 

 

 

 

(C()(1

) )())((

 

 

()(;(;({").

 

)")/"1{((

(; (}())

{)())"

"

".()({")(

,"

;/ ;.{l

;(.()().

) .","{la

)()/(2)()(

)]({(1

}" ).)(]()(1

 

 

 

 

 

 

 

 

 

 

 

st

 

Д } Д Ду} {

 

 

 

 

 

 

 

 

(){(C).(

/(..

.";)";1a{

)(){(.;1/l

 

".)(}(;()((

/(.(

";.C)"

)(;)")1

(

"."

)()2";l2(,

 

(l;(,

 

().)"){)()()).l

 

){()()(l

 

.)(}.";(

((/

()/",(

/(C()2;a

()()({(a

C()/(C)"

"

2;())(

(;

2(2"

"

/"});

"

"()/"C)(2(

 

)(.)(,()

(;;")(

 

 

 

(

.");(};a{((

 

(

"}".";)()((

)); C);a

)(.()()).,(

,(

{"}(,(

 

(.)(,()

 

 

 

 

 

 

 

 

 

 

 

 

Классы 89

90

ес а oo ие пС иСo

ределение частичного метода при компиляции удаляется (вместе с кодом, в котором он вызывается). Это дает автоматически сге­ нерированному коду большую свободу в предоставлении точек привязки, не заставляя беспокоиться по поводу эффекта разбу­ хания кода. Частичные методы должны быть void, и они неявно являются private.

яeuдхlrпучк бжeу

Операция nameof (появившаяся в версии С # 6) возвращает имя любого символа (типа, члена, переменной и т.д.) в виде строки:

int count = 123 ;

string name = есаивт: ( count ) ; / / name получает

/ / значение " count"

Преимущество применения данной операции по сравнению с простым указанием строки связано со статической проверкой типов. Инструменты, подобные Visual Studio, способны воспри­ нимать символические ссылки, поэтому переименование любого символа приводит к переименованию также его ссылок.

Для указания имени члена типа, такого как поле или свойс­ тво, необходимо включать тип члена, что работает со статически­ ми членами и членами экземпляра:

string name = nameof

( StringBuilder . Length) ;

Рез ультатом

буд е т

дд L e n g t h св ря Ч т о б ы в о з в ратить

д дStringBuilderя

. Length си е японадобится следующее выраже­

ние:

 

 

nameof ( StringBuilder ) +" . "+nameof (StringBuilder. Length) ;

тажрбтзуаяебe

Класс может быть ,t,wыuTцy,t от другого класса с целью рас­ ширения или настройки исходного класса. Наследование от класса позволяет повторно использовать функциональность данного класса вместо ее построения с нуля. Класс может наследоваться только от одного класса, но сам может быть унаследован множеством классов, формируя иерархию классов. В этом примере мы начнем с определения класса по имени Asset:

puЫic class Asset { puЫ ic string Name ; }

siresa,iуser исм

Операция as

 

 

пПg

см тМД

!abмп

П!Мп

пb!пМb!г

o!

!П!п М

 

aПкgп

bпП

gк!МДк! aмпА

мogo

 

М

п

Ипупi

)g

ссс

oaт

п

 

 

 

 

н

 

н

н

 

 

 

 

 

 

 

 

 

 

 

Иgi

п)g !м П

iиbgoi

уПg

уi i)

gусгiМgИя

i

 

п

ПтхПт

з)iМп)o

П ПпгПa

ИgИgbgз)п

пИ

 

 

 

 

 

 

 

 

 

 

За

 

!o

ll к

 

 

нн

 

н

 

н

 

н

 

 

зп)g

 

тbп

!ип МД !abмАя

 

 

 

ц

 

ц

ц

 

 

)gг

пa

 

пПп гogПП !

пПg

!т уg

ИП

 

ПgМb! ogo !

кс

a!МДп

Пп!иПgг!Мgb!м

 

 

 

 

 

 

 

 

 

 

Операция is

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пПg

смт

ПiМпПмпА иП

пАa!

Пп!иПgг!Мgb!п

 

 

Дaoс

П

п

с

с aiМg!

мМaмпА

мa!

пoАз)i!гМi

 

Вo во вддл совэк д к

 

( а

 

.

l C

 

 

 

 

 

 

 

 

 

 

 

 

 

­

t t }

­t

 

 

t­t

 

 

 

 

 

 

 

)(3())(1

.(](,

())(1

3").;.)(

3;1

)(,(3;())"

"

 

.".](;}

 

;()(1

( ").((.)1

) ";;().(

)(3(,").(

 

 

(.](3(;(,(

).](](

 

)(1

 

 

 

 

.

l

C

 

t

­t

 

 

 

 

 

 

 

­

 

 

t t t ­ t

 

 

 

 

 

 

 

 

 

t

t

 

 

 

 

ll C

 

 

{

{ { s {

 

 

 

 

 

C

)

. l

 

s

 

 

 

 

 

 

C

. ) .)

)

[C

/.)C

 

)

 

ll

s

]

 

]

 

 

 

 

 

 

 

 

 

l l

s

 

{

{

{

s

{

м {

 

}

а

ДД(м}

 

 

 

 

 

 

 

 

 

 

;)[{(1

.М,(C())(1

[([

 

 

 

 

о

у,"](.

 

;..l

 

 

 

 

)

."3[;())({

3( ](;;(

 

)1.]

(3").()(.l

((

).(

 

{((;(

(]")());a

 

]((;(

({(a{

;

);1.l

)(].;(;l).,(

 

,"])"

 

,(."3.

()3([)(."].

 

( )";..(1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t}

 

 

 

 

 

 

 

 

 

 

"/

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

..{/

 

t

 

 

 

 

 

 

 

 

 

 

 

")).];[{(1

 

 

у

о

1);1(.)1

)"[]({())"l

 

 

(.(}

 

)la 3;1

 

(3".";)(.(;l)"l

(

 

"],({(}

 

(l ."

.([",;

)().([)();

 

";]({(l.()l

)

](

3(;

)"l).)(

)](..(

 

3" ).](]()(l

 

)(

).]{

{ (].;(;l).l

,(."3

.(](".](

3(;1(.)1

 

) ."3[;())(

)

.](,()()((,

,"3(

([(."](

 

 

l

 

 

l

 

 

 

 

 

 

 

t

t}

 

 

 

 

 

 

 

 

"/

t

t

 

}{

{

 

 

 

 

~

~~

 

 

~

~~

~

 

~~

~~ ~

~~

; ;

{"{){5Х

;; {{;)2 {);;1{t2".5.

 

 

~~

~~

 

a]

Х

Хх

З" [).

Перегрузка и распозна ва н и е

НжХг-О юL-Хв

заО ХаLючХМХНю-Х

ОжLбюLХ

ю

СХМХ

Мезве

ПХа-г-Оя

МХгС-ж-лLП

йчХНау

НжХге

ыLХ гОХ

СХМХ

МелХююаш

ОХМНLL

 

 

 

 

 

 

 

 

L П В П Ц Н

ишв ии

L L З П

 

 

 

 

 

L В П

Н и в ии

и е L З

 

 

 

 

 

МL Оаз-ОХ

СХМХ

елХююМ-п

ОХМНLL

СМL-МLаХч

С-жей

Ха ю

L -жХХНСХчL

Lйюап

чLС

 

 

 

 

 

ую я у ю

Н А ЗАМЕТКУ!

З М!

!К!ЗТ!

 

 

 

ЗК

А

!

!ЕАК!

!!ЗКУ ТКАЕ!!

ЕА ЗН

Н!

А

!

!Е!!

! Н!К

А

АУМ!

 

!

! К! ЕАУЗ!У !

ЕАКТ

ТКАН

ЗУ!Н

А Т

КА!НЗУ

!

ЗНА !!

КТМ! Е!Е!У

! КТ

!

 

!Н!ЗЕ!КАЕ

ЕА

АН! !З Н!!КМ! ! ! НА

ЗККМЕ! А ! !ЗМ

 

 

 

 

 

М ! ЗНАК У!НЗ! ! М!

К!ЕА

А

ЕТ

А

!КТ АЗЗ УКЗ! Н!М!К

!Н!М К!

ТН

Е!УКЕ!

М

!К!

КК!

 

 

 

 

 

 

Н!

ТМ

!!

ЗН!КАН!

ЕАЗ

!

Н! !М! ! Е!

АЗЗК!Н

!К Е!К!

ЗА

ЕТ

 

!УК У!НЗУЗН

Н АЕЕТ!

А

!НА

!Н!

!

!ЗЕ!КАЕА

ЕА М

Е! !М!

 

 

 

 

М!З! Е!К

М ! ! М!

ТК! З Е !

Н! М! !

 

!КА!Н

К! !М!

А !!

 

 

 

ТА! К Т! !

 

 

 

! ТА!

Т!

!

!

А АЕА

ТАУ

!А !

А !У

Т

К АУ !Т

АЕ!

 

 

!

!

Т!К

 

 

 

 

 

 

Н З

З

! ! !

 

! З

 

 

 

 

 

!У

М У!

!

!

З!

 

 

 

 

Н З

У

!

М

У!

!

У

З

М

 

К!

УУ!

!

!

У

1 00

Карманный справочник по языку (# 8.0

Поскольку Stack работает с типом obj ect, методы Push ( ) и Рор ( ) класса Stack можно использовать с экземплярами uМ,o o

я. кt

Stack stack = new Stack ( ) ;

 

 

stack . Push ( " элемент " ) ;

 

 

string s = ( string ) stack . Pop ( ) ;

/ /

Приведение вниз

Console . WriteLine ( s ) ;

//

элемен:·г

obj ect относится к ссылочным типам в силу того, что пред­ ставляет собой класс. Несмотря на это, типы значений, такие как in t, также можно приводить к obj ect, а obj ect приводить к ним. Чтобы сделать это возможным, среда CLR должна выполнить специальную работу по преодолению внутренних отличий между ти­

пами значений и ссылочными типами. Данный процесс называется

, кnoanoW (boxing) и Ска кoanoW (unboxing) .

НА ЗАМЕТКУ!

В разделе "Обобщения" на стр. 1 1 6 будет показано, как усовершенствовать класс S t a c k, чтобы улучшить подде­ ржку стеков однотипных элементов.

лррввевржожчрsррввеврж

Упаковка представляет собой действие по приведению экзем­ пляра типа значения к экземпляру ссылочного типа. Ссылочным типом может быть либо класс obj ect, либо интерфейс (см. раз­ дел "Интерфейсы" на стр. 1 09). В следующем примере мы упаковы­ ваем int в объект:

int х = 9 ;

 

obj ect obj = х ;

/ / Упаковать int

Распаковка является обратной операцией, которая предусмат­ ривает приведение объекта к исходному типу значения:

int у = ( int) obj ;

/ / Распаковать int

Распаковка тре бует явного приведения. Исполняющая среда проверяет, соотв етствует л и указанный тип значения фактическому объектному типу, и генерирует исключение I nval idCas tException, если это не так. Например, показан-

Тип object

101

Тип object

1 03

 

( ) ,

 

( )

 

 

( )

 

 

 

, (

к ,

( (

к( , к ) ))

к

)

, ( ( ­ (

, ) к к (

­

к

к ) , к( ) ,к­(

,) ,

)­,

 

 

 

 

) = =

(.+" =

1("" (+. =+{ r"

)".

=

==

-=

 

 

 

++

'+""

 

 

 

 

1(

"(+" e=;;

. (".

= e

i'+ )

= - -

 

++

i;.

 

 

 

 

 

 

"(

"+2++)".")"i'))

 

 

"

,)+" )("()+"i)

 

+ )")+ >

3

 

f

"))"++)"( )("" ("+")

()"=

d"(++.)("

 

 

+"))(";

" ""'

 

+"((">

 

 

f"

"("+)(")"'+")

(")"i

"++

 

­

= o={=О

=

+++(("(i"="+ +

+= +,"))++("(=

 

 

)"r"fd

" "

+)"

"=

 

("i)

"i" i"

"

+)(+(" ')

+d"1

"= ")+

"f"

)")+=" ."(=

 

')=

 

+i"+"1"()+"+2=)1 )")"+

 

 

 

 

lL "+"r"")(+i" )")"

 

 

 

 

 

L

"

"

 

 

"="()1f )("

(("('"i""

+(+= ,'" d)i

1

 

"()"+

+)) ())"=="

+o={=t

О=О={

 

 

 

 

 

 

 

 

 

 

 

)"="d"(+"1)"

"

>

 

 

 

)("()"

 

 

) )(")

 

("(

 

)+"+

i)1)")"+

 

 

 

lLi" ))((")

"(v+) "i)"

 

 

"(+")("("(=

 

+" i" ("(i)

+""(r+)"i))

F

 

 

 

 

 

 

 

 

 

 

 

 

(

+".

 

1 ") >

=

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

((+ .; ;(;

 

.v

 

'+"L

++=

s

=

=3lх

 

 

;3;

х

 

((

(

 

(

",.

fv

)'

"=

-o

++

=s

 

 

=3; =l=

 

;

 

 

 

 

 

 

 

 

 

 

++

:(

 

+

=3;=

3

3' ""-

 

 

))"+

3 3t3F

 

 

 

 

)."'++")"+2i"lL

)("))i+")

(("(

 

i)=""

+("("+"i)i"(="(()+"di)

 

)")"(

{d)" "i"r+"++",i" +++

 

(()+",i)

)")"1у (

 

")"()

")"(";"

""' ,)+"

 

"("r(+."i" +++

 

())"+i"i"+ +(+r">"+"1()("+

=

 

 

 

 

 

 

 

 

 

 

 

 

))"+

 

3

L

 

>3

()+"))

="s

 

+"+f ")"()= )"+

"

")

+W+"(

"W2 "("i" (" (+"("(

)

"(="(" ii))" i" ="s

)",+";"

 

"

)"ii"

 

L

 

 

>l

 

 

>L

 

3 3t

х

 

х

>

 

"t

 

L

3

>

 

3

 

L>

 

 

 

3=

 

 

 

 

 

 

 

 

 

 

)",)

i"()("")2

(")"i="++

+("("+"=)'"()"

)")"

)")

 

.",+))(+f

+"

)"i")+)f

 

)(""

("+"+")2 )")"

)

 

 

L

 

"

 

3

L

 

>

 

=,)di"

)"+."

)"()r(+.".)(+

 

")"(";""

 

 

 

"

" =

(")"(

)"+"1 i"()."=+"

 

."("+"i(

." +"+"

 

"()r(+=

"

"))("

1 i" ()(=

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

1 04

 

 

Карманный справочник по языку С# 8.0

 

 

 

 

 

 

 

 

 

 

ССЫЛОЧНЫМ ТИПОМ.

 

 

 

 

 

 

 

 

 

 

 

 

 

ЫОЫ ОМЧТ.­­ЧО

ИСМЧМП

Ч­.СМ ИПМИЧ

 

 

Ч

ИЧ

 

. . Ы.. М Ч СТ.О. . ­Ч .ЫМ

 

 

И И .

 

ЧЧ

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

.

ОМЧЫИ

ЧЫСПЧЫЧ Ч

 

Ч

ЫИ.

МППО.

 

Ч

 

. ЫОП Ы.ОМЧТМОМ

ЧЫОИ.ИС

ИМ

И

МЫТ. .ОЧ.С

И М

И

МЫ.ИОМСИОЫ М И

И М ИЧ

 

 

Ч .С

 

 

 

 

 

 

 

ЫО ЫТ.­ОМ.­ИЫЫМ

­ЧЧ

МЫЧИ

Ч ПЧ.

М

 

ЫИ

ИТМ М Ч .ОИ. И

ТОИ ЧОМ .И ПЫ

ИЫИП

.С Ч

ИТ

.

. ЧЧЧП

ЧПЫСЧПТ.П. . ТОИПСМИСМ

С ЧЫП.ТИО.СМ ИЧ М

ЧМ ИЧПП

 

И.П

.

ПЫО

 

 

 

ОМТОЧ­П МСП. . ЧЫИТ

М

Ч МИ ­

Ч

Т Ч ОЧ

 

ЧЫП. ­М . И Ч С

М

ЧИТ.П

Ч­

П

 

П.ОМ

 

­.МЧ.

ЫИ

.

.

ТОИП.

­М

ИИ.

. ..

И

ЧПЫ

СМ

Ч

Т ЫИТМО.С

 

 

 

 

 

 

 

 

 

 

 

 

 

МИ

ЫИТ.

М

ЧПЫОИ

Ы . ОМЧ

.ПСЧ .

 

М С П

ЧИ И.

ТМ И .Ы. .

. Ы.. МС П

ТМ

ЧЫС М ЧПЫСЧТ.

МППЧ И

 

П.

 

М

И

Ч

Т

МПО

ПМ

 

С Т.

М

М ­М. ТОИЧЧ

ЧОЧ.Т.

Ч ПП

М

 

 

МПЫО

ЫС

О

Ч

 

 

 

 

 

 

 

 

 

 

 

М Ы­СИ . ­

Ы

П­ЛИ

 

 

 

 

 

 

 

 

 

­

НММС

. ММН

Ы

­

Н

Т

 

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Семантика конструирования структуры

(a).o#y) y#.вoгР#г#з).#r вoгРyoРгn зn ИrГ#o вИ(ГРд #a

#аг)С#a

Р(вoзР(oy#.вoгРy #га(С d)г)a(oг#з y#o#гnж .(ИйСr

.(rз.# d(г(#dг

(Г(И#oй . зnd#И.r(o d#а#o#з#( #а.РИ(п

.#(

d#И(ж вoгРyoРгn

 

 

г# #dг(Г(И(.##

y#.вoг yo#г)

d)в г)a(oг)a#

вoгРyoРгn

y)

Г#aР d#Ид Г#И .# аnoй rз.#

dг#вз#(.# С.)

(.#(

.#

#)И#С)o#гn

d#И(ж з вoгРyoРг( .( dг( ГРвa#oг(.n

Структуры и функции readonly

 

)

#.)r в з(гв##

 

п y вoгРyoРг(

a#

 

.# dг#a(.roй a#

Г#

#y)o#г

 

ы

я

 

o#аn)г ).o#г#з)oй

 

o#зв( d#ИrаРГРo

 

ы

я

o)y#ж dг#(a

d#a#

)(oС)rз#oй # .)a(г(.##

# dг(Г#

вo)зИr(o y#ad#Иro#гРасИй Рд

вз#а#ГР з dИ).(

#do#a#С)

##

 

 

n.oяиe

d оolто

 

8e(о

 

 

 

 

 

 

 

 

 

 

 

8тoг. г (

e

о

сrr

 

И

 

 

oгон8(yс

 

вИ#a#Г#

#y)o#г

 

ыя

.#

dг#a(.roй

в а#Ий

вo(d(.йд

Г(o)И#С)

##

o#

в#Г(жвoзР(o

o#aРdг(ГИ) )r .#

з

дз#Сa#

.#вoй d#вг(Гвoз#a

y#o#г#жa#Г#

 

#y)o#г

 

ы

я

a#

.# dг#a(.roй

y

 

твoгРyoРгn

вИ#o)y)r

Р.y

#r

d#dno)(oвr a#Г#

#

#г#з)oй Ида#(

d#И(

o# Г)

.)

o)d(y#ad#п

Иr

##з#С.#y.(o

#

#аy)

 

 

 

 

 

 

 

 

a0lц Саокаллуицпноавмтлжйцнмцхеуйсца#цr)8ц

Соседние файлы в папке Скорая помощь