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

 

РОИНИММЕТИ!МБННЗОВНeВВОЕТН!ОСНМОСНИ!ИЕТИ!!aТ Е ЕТОКМБТ! Н Н

 

 

К

 

К

 

К

 

ЕОЕ !ИЕТИКНМНВЕe КОК!М!Н

КМОЕНСММКB!ОВОНaТ КНЕBОСНИ!ИЕТИ!!О1

 

!И ЕТИ!ЕИВ М СОЕТНКОКНВНСИНИММЕТИ!МИТ..

ЕТИ!ЕeЧИЕ

СМ !И СНМКИe

 

К

К

К

К

К

К

ЗАПОМНИ!

!И!a

!И!ОВОНaИ СНН!ВММИ!МИ СTНКМЕТНКИ!ОВОНaИ ЕТИ!ЕИВМ СОЕТНКО

 

 

К

 

К

 

К

 

КНВНСНМСНМ!БВММНИТИ!МБ О

ОК!Н!ММСИНИММЕТИ!МБТ

 

 

 

 

К

К

 

 

>>Стабильность коллекции. Коллекция должна представлять ста­ бильный, неизменный список членов. Список государств меняется не так уж часто даже в наше нестабильное время. Список десяти лучших песен в чарте Billboard нестабилен и может меняться почти каждый день.

»Стабильность членов. Каждый член коллекции также должен оста­ ваться стабильным и представлять узнаваемую, согласованную цен-

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

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

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

Работа с перечислениями

 

a

2!1,<2#-

$,"-Е

:".#O#-

1,< !

2!1,<"

,"'1".$

:"2$.Е

!92!

$9"::>2!

 

,'1! 9# Л "Е

.9!

1,<#(,1 ,".

 

91,<$9"::>2!

2-.2!

 

 

,":#9:>

ь

в,!

!.,#9

,$

!.

$(,1"2

 

$ ,'1$

1,<!$9:>

$(,1-

,!:-.$1,<E".

-

.!::".D$$З

 

 

a,2#.!

1,<_

(,1!."9"

1,<! ,!::>.!

1,<#9:>

-

,!,!:2"2$_

-(,1$

.

,"'1".$

:"2$х

 

.!9!'1_"

 

,!1,<_

-9 1$..!

 

9:> $

,!.1,<!:-9

$

,!::>.!

 

1,<#9:> ,"'1"_

.$

:"2$-

1,< E$'1!.!(,1

 

,$#,#.!2"

 

D"2#'1$"1,<nЛ

:",-хO$0

'1#

,":#0 !,$

_1,<#"9_

-Е .#.

!.,#

 

1,<#9:> '1#.:$.2_"

 

1,<$,_

,"'1".$

:"2$.n

 

 

 

 

 

 

ГЛАВА 1 О Сп иски элементов с использованием перечислений 249

Использование ключевого слова enшn

Ключевое слово enum используется при создании перечисления. Например, приведенный далее код создает перечисление с именем дьюькы,

ъ : : : a :

 

С# предлагает несколько способов доступа к перечислению. Если

 

вам нужно только одно отдельное значение, вы можете использовать

ояшфищгкт

имя цвета. В ывод, который вы получите, зависит от того, как вы об­

ращаетесь к значению, как показано здесь:

 

 

 

 

 

 

FF

 

(

 

 

 

,

ь

(

 

м

 

FF

 

,

 

 

 

,

ь ь

м

(

r

Выполнив этот код, вы увидите в качестве выходных данных для первой строки Вlue и для второй строки - 4. При создании перечисления значения перечислителей начинаются с О и последовательно увеличиваются. Поскольку Blue является пятым элементом, его значение равно 4.

Вкакой-то момент вам может понадобиться получить доступ ко всему спи­

ску перечисляемых значений. Для решения этой задачи можно использовать

цикл Ськпгя,T

например:

 

 

 

 

FF

 

 

 

 

 

 

 

ь

 

,

ь

ь

м м

 

,

#

К

 

 

 

F F

ь

:

,

)

, ь

э м м

 

,

ьее,

= {

(( m

 

 

 

Однако вам может потребоваться только диапазон значений. В этом случае

можно использовать цикл (ь,О

например:

 

 

FF

 

,

 

 

 

 

 

)

=

 

5;

 

 

 

 

55

=

 

 

 

 

 

 

 

 

В этом случае вы увидите только запрошенный диапазон предоставляемых перечислением Пь0ь,м значений. Этот код дает следующий вывод:

=

=

=

=

ЧАСТЬ 1 тйео твзита омаыяява отыевеиеыиС#

Создание перечислений с инициализаторами

Использование значений по умолчанию, предоставляемых ключевым сло­ вом enum, в большинстве случаев вполне устраивает программиста, потому что его волнует не конкретное значение, а его удобочитаемая форма. Однако иногда действительно требуется назначить конкретные значения каждому из элементов перечисления. В этом случае вам нужен инициализатор. Sд нdнОнт v)e" p просто указывает конкретное значение, назначенное каждому элементу элемента:

,им гпрrрх

 

и

 

ве

1,,

 

 

Я р

 

 

 

 

 

 

,хшим1,

.

: p ,

 

 

i,rrр

,хшим1, a Я ,

 

Cх,,им

C Я -}

,

 

еr

,

.

V ,:

 

 

,

хтr,

.

,хшим1, r Cх,,им

Чтобы присвоить значение, просто добавьте знак равенства, а затем - чис­ ловое значение. Вы должны предоставить именно числовое значение, напри­ мер вы не можете присвоить значение "Hello" одному из элементов.

 

Вы можете подумать, что последние четыре инициализатора выгля­

 

дят странно. Но дело в том, что инициализатор может быть выраже­

ЗАПОМНИ!

нием, вычисление которого дает число. В первом случае вы добав­

ляете 5 к значению Orange, чтобы инициализировать Yellow. Green

 

 

представляет собой результат умножения. Вlue использует шестнад­

 

цатеричный формат записи вместо десятичного. Наконец Purple яв­

 

ляется результатом применения логического ИЛИ к Orange и Green.

 

К перечислениям, использующим инициализаторы, можно приме­

 

нять все те же методы, что и ранее:

 

.рх,ш(3 т прrрх иa г, :им -им кгC, cшr ,н т,р- т прrрх sиs ,

прим рr,уeх: ,г:им,т оt h н , уl г, , им: sr г,, l

Вот результат выполнения этих строк:

1,, .

Я

:p

,чшим1,

>

i,

rrр

.

Cх,,им .

и p

,

r, .

и Я

хтr,

о C p

ГЛАВА 1 О Списки элементов с использованием перечислений 251

Указание типа данных перечисления

 

..

.-Я...

. 4.4 Б

...4Я..

 

."

..". Б-Я

..

еthi6y..-." ..

.".4.4

.4 7-В

." .4.4

...".47

".-.4

рthi.-.

.".4. ."Я-."..

.4..

.-."4

." ...1"4

7Я-Б4Я. 4

.-

4.-. рi thй...

Г

iгi6

 

-.-.".

.4.4 ..

.".4.4

...".47".-.4

... ."7.-Я ..

.4.4Б

...4

 

Я.. ...

.

 

iГ.

 

iГ. iгi

 

Гiгi еthi

рthi thiй.

 

thiй ..

."."...

 

.. .....

 

-4.4 7-.....

 

".

."1"

.-.

..

..-Я. ..4.4

...".47".-.4

.4.4В

Б...4Я.4

 

. ..".4."

7.-Б4...

 

..

..-Я..

.4.4 .

.4.

..-

...4

 

 

 

 

 

 

."..

"..4.4...

4

 

... .-. Я..

.th ..

."..Я.

.".-...4

.."4."Б.4 . ...

...-

."..4

..4..

 

.4.4Б

..34...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.4Б...

4..4

 

i

 

iгГ

..4.."."...

4.4."

 

 

..44.

...

 

iО.Л. .4 .7.-4.4

9."

.-.4

....-

.".-

.4

...".Я..4

..".4...

9."1"

 

-..-6 .4...

7..

 

.".

."В

.-7.. -4. .

-. ... ....

"

4

 

.""..

 

4.. ....744

 

.4....

"

.-Я.4

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

у

Р

 

=

 

 

 

 

 

 

 

 

 

 

 

Р .

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

{=*(RI=RIh-==-(

=hRI(====(== h

==RI==h=(lha(- (=

(-h=h

 

 

*h ===h==-==(=======(=hl(-(RIh-hRI(=rS

Sr

S s

S(

AhdSTE)n

 

h Sr

Sr

S

 

===-====(=hl=hRIhrS

rS

S

RI(

=(

 

(=l =RIRI(

rS=-hhRI==s

s

(RI-=-(==( =(

(=*=-h*(

 

 

 

 

 

=

=

Создани, флагов-перечислен,ий

,#6.

,'1A,!- 11#) ,-.11

.r 11A'1A-.,.

-,!-!.

'1#.!11,

- ,#rr,

(,1.JJ

n,

(,1!.Aem

11A .-,

!,:>N,1!)#11:> .0

'1#N,1,$e.,(,1.

-,!-!.#(,1.

,,-

),,!,.

Ar.-

11#, .0

N,1#,#e

,#,

!,'1A,A, Ar.A

,#'1#(,1A11'1!)

rA -):-.O

.0 --

)N,1#.(,1!.- ,,.e#.O$

(,1._

 

#,'1.(,1A'1

), (,1!.A11A

,-,.11:>

#)11! (,1!.., :>

- ,!.,.D.!

 

rA'1!(,1

рЖдтГГт.

'1-,!(,1

,'1-em

6.0

-.,D$.JJ

Б#.,#-

.N,1 T11.0

-r,D..

-),-A11--

,!,!,

rAr.A(,1

r! )-A

!r.

,!em

,#,#.11

)

!,.-

,#11A6!'1..

,!,!,.

.11A,:>r,0

#,-A---# '1!)JJ

 

 

 

 

 

 

 

nНЗОСНБЕ В!НeНЕМt ПС !О!!ПС

ННЕЕЕНСНХПНСН ХТ Е СОМПХЧНН"'JХБ

 

 

ЗХСОПТЕХНСНХЕННЗОt

!НТХ ПЕСПО!Р!НЗ

ЕМХСНРСtМСО \eТЕХЕО!НС

ЕОП

ЗАПОМНИ!

 

!НН!НСН Ч"'JНМНХБ"'J !О

<l<ltПОЕО!"'JО ЕПНЧНСНХПНМН

МСО

\eТЕХХЕННС

" ! " ЧАСТЬ 1 тйеотни жаощаряяв аотревеи ерииси

ГЛАВА 1 О Списки элементов с использованием перечислений 253

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