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

 

!!!!!i! !

it A!L!A!EW!, !

Aa!!!!Н!

!!e!AW!W!IДж ЕТW!!!! !!e

 

AaD!A_!!!

i!B!!e!!!В

-i!_!!d!!!B ! !A!!I!

!!! AaD!AW!!W!B

ЗАПОМНИ!

!!!!!!В -i!_!!d!!!BW!

!A!!I!

 

 

char thirdChar =

 

 

 

 

 

 

 

 

favoriteFood [2] ;

// Первое

' е ' в "cheeseburgers"

Поиск в строках

11! "),$ ."!.0!,$(,1!

.#.11$

)

)11'1!." !1t1'1",","..!"

),!)!

$,$ .".!11!л

_.

)$(,1)!,

#1t1'1$W"'1П)#(,1 .:.".

 

$.,".)

T11!. 1t1!,) 11'1!.$П

Ц11!._

)!)1t1!,б.!)#11б)-

 

W"11!,#W$

Substring ( ) , Replace ( ) , Remove ( ) ики ноеелеркди

лртОидившьглеu

ае раьлока вк тьнаоломеае навелил мв олреео еллокмнкооидвекк

ики иелолреr

еиo Sлоомя етлт иоиекмьевалмв еааоолвоиридора иородоннтй

favoriteFood

иь иролк лткоае раьлокао

 

 

 

 

 

 

Как искать

r,!-P#3ch(3 -S!-!2 S!(-<( !P.#.32!ш! -C --!.( S,( S!i!e( i#P!.(

IndexOf ( ) :

int indexOfLetterS = favoriteFood. IndexOf ( ' s ' ) ; // 4

.каоо String исоол и лртОиодолелк иеио>а еае лнливилт акмнкx олдвекевИ лае и иелолреео

.. Метод IndexOfAny ( ) получает массив символов и ищет в строке любой из них, возвращая индекс первого найденного символа.

char [ ] charsToLookFor = { ' а ' , ' Ь ' , ' с ' } ; int indexOfFirstFound =

favoriteFood . IndexOfAny (charsToLookFor) ; // О

Этот вызов можно записать в сокращенном виде:

int index = name . IndexOfAny (new char [ ] { ' а ' , ' Ь ' , ' с ' } ) ;

»Метод LastindexOf ( ) находит не первый встреченный символ, а, наоборот, последний.

ео Метод LastindexOfAny ( ) работает подобно методу IndexOfAny ( ) ,

но начинает работу с конца строки.

ео Метод Contains ( ) возвращает true, если данная подстрока входит в состав строки

if ( favoriteFood . Contains ( "ee" ) ) . . . // true

ео Метод SuЬstring ( ) возвращает подстроку, если это возможно, или пустую строку в противном случае:

string sub = favoriteFood . Substt'ing ( б , favoriteFood . Length - 6) ;

Метод Substring ( ) будет более подробно рассмотрен далее в этой главе.

ГЛАВА 3 Работа со строками

79

Пуста ли строка

з.-l 11)

C.3б А11.з

.C c#.#-з1

1.,!<з С

unC.C C-##. 2)зк#)C#

o ггС. ##В

)# А,C1-!#)!

)C<з.!#

2)зк#)C#б d:з6# А11.з1

1.,!<зun

с.1

п.!F!

-!6)!

-!1

А!.32!-з.311

 

-#.!d:!-

 

r гг

М

 

 

 

 

 

 

 

 

 

 

 

 

u

у

 

 

 

 

omp2,зC..# -)C-з)C#

б.з.

-l2 l-з#.11

-#.!d:

r

гг М

ю

щгпТ2hr

r гг

М

 

sэ r

 

 

 

 

 

 

 

 

 

ld:#.з.3

1.,!.1

А11.!В

-!6)!

d:-1-11А!1!2з-C

 

 

 

 

 

de:: п

 

 

 

 

 

 

 

 

 

 

de

 

 

 

 

 

 

 

 

 

 

Получение введенной

 

 

 

 

 

 

 

 

п9ль о

ател м

"1Н.формаци.и

 

 

 

i, О ,:,Тм

 

 

 

л,И()"1,,()л(#(("1К

И"1_-л_ло#К

,

,"1(,"1,-

(l11Y1 И()1V1,"1.#(1V1,:1Y1

,:,,,:#,,,:

 

И"1,,sr

о#(1V1# ,,# _#(("1К

И"1,--"1,л,#,#,

1V1(c"1(),л

_1V11V1

lо1V1,l1,л,-

1V1(c"1(),л_1V1.,,

 

(#"1,зh

1Y1"1_1V1,

"1 1)л,

,,()"1,,s

а,,#

о,"1

И"1,

Ил#,

"1,

И"1,--"1,л,#,,:д

И"1,,,sИл#,

, ,1V1_#

,,()"1r

,1V1В

л,#,

ол,,"1

,()#,з,s#,,,:

 

Дтъ д

 

д Дтй

л1V1,1V1 т

Д тй

а

з

,1Y1"1вВд(,s.,,

,,()"1,,s

п(лИ()1V1,#()k\ о,"1,зl1

,l1

_#,1V1,-

1V1-

(##

о1V1,,"1,,#

_л((,#

 

 

 

 

Удаление пробельных символов

 

 

 

 

 

 

 

 

l)зкз.з ,з11-!.,C-б

.з< 12,з.3

-1# А,!2# .3)

l# 1C--!.0

1

!2!CF

.!)c!-

1.,!.C

СА!d:.#,-C)!-

 

w

 

щы

­wС

 

Чг А!d:,Чunз21-#-з7.11

1C-r

-!.lk

!2l к) ! )# !.!2,з

 

6з#-l# )з

п<,з)#k )зА,

C-#, А,!2#.

 

1C--!.

)!-!В

1.,!<C

С ounC.C

.з21.1cCC

 

С

sunC)!Fd:з -1.,#кз#.11

1C--!.

-!2-,з.з

<з,#..C

С Мununс.1

п.!

! -!6)!

-!1А !.32!-з.311

 

-#.!d:!-

МП

 

 

 

 

 

Ou ъ

.з11 пsМдoТhrА,#d:!1.з -.1#.

.з<6#

-#.!d:l

дМ

osМimaC дМ

oТd:.1

1d:з.#)C1

А,!2#.3) lF 1C --!.!-

1 !d:)!В

1.!,!)l

1.,!<Cб

C -0

-!6#.# А#,#d:з.3

C--з11C-l 1C--!.!-б

<!.!,

l# .з.6#

d:!.6)l

,з11-з.,C-з.311

<з<А,!2#.3r

)l#

зАC,-#,б-!6#.# 12,з.3

,з1А !.!6#))0В

А#,#d:d:#)#6)l-C 2)зк#)C1-C

1C --!.

з.з1 !кC1..з 1.,!<

d:#.з#. CF з)з.C2

2!.##

А,!1.

l-tth1#А#,#кC1i

.#))l#

-#.!d:l -!2-,з

з7.

)!-0# 1.,!.

t

 

 

 

 

Основы программирования

Анализ числового ввода

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

этой методикой.

Метод ReadLine ( ) используется для считывания объекта типа string. Про­ грамма, которая ожидает числовой ввод, должна эту строку соответствующим образом преобразовать в числа. С# предоставляет программисту класс Convert со всем необходимым для этого инструментарием, в частности методами для преобразования строки в каждый из встроенных числовых типов. Так, следую­ щий фрагмент исходного текста считывает число с клавиатуры и сохраняет его в переменной типа int:

=

Другие методы для преобразования еще более очевидны: ToDouЫe ( ) , ToFloat ( ) , ToBoolean ( ) . Метод Toint32 ( ) выполняет преобразова­ ние в 32-битовое знаковое целое ч исло (вспомните, что 32 бит - это

ЗАПОМНИ! размер обычного int), так что эта функция выполняет преобразо­ вание строки в число типа int; для преобразования строки в ч исло типа long используется функция Toint64 ( ) .

Метод Convert ( ) , встретив "неправильный" символ, может выдать некор­ ректный результат, так что вам следует убедиться, что строка содержит именно те данные, которые ожидаются, и в ней нет никаких "неподходящих" символов.

Приведенная далее функция возвращает значение true, если переданная ей строка состоит только из цифр. Такая функция может быть вызвана перед функцией преобразования строки в целое число, поскольку число может состо­ ять только из цифр.

FF

,

 

.

FF

 

.

г

 

 

F F

 

 

,

FF

 

 

. .

FF

 

 

 

 

(

г. F F

 

. ,

==

 

 

ГЛАВА 3 ИрЭотрийоийт»огр яви

ьoи

 

!ООЗЧИКИАОТ!!Б ММЗИ!З С!НПНРЧИЗ АОМПОЗ ЗАНОПИЕО!ИА ЕПНКСПНАВП

 

ЗБ DАНЗНЕНБ АО ПНПНОЕИАОЧОСИНИl

! ММЗ!ОЕ ЕО!ИА ИНТО!МАВЗБЕМП

ЗАПОМНИ!

ИЕЗ HО ЗИЗ

НЗМИАИНИЗСНИ!ЗАНП!БРА ИИDАММНЗАИОЗАМ:ЗНЕН М!ИБ

nИАО!

h00sР

.

РЧЗИНМН!НЕ!Н!БИА ПЗИИИИЕ!ИСИ СНОЗИ!ВИСИ ЗМЕПО!С З

ОЗОМТПОИСОПЗАНОПМ\З!М СОЗ!И DАОЧОЗАНОПНОПНКСПНИАЗБСЕЗАОЗ:КИНММАpОИН ЗОЗАОБ!НМКСНОЗИ!ВИСТ ЗМGПО!ОПМММЗ!ОЕИИ БП!БИАЗБ \З!М ЗАНОПНОЗАНИАЗБ ИИСЕЗАОЗ:!ЕИПСМБ СНОТО!МАСОПЗИЕ ИИЗМЕПО!НЕ \З!М ПНПОЗ МКАОЗМGПО!ОП ОПНКСПНИАЗБИИСМ!НОЗ: !ЕИПСМБ ПОКПННЧНИА ЕХ0РТЕХЕПНКСПНБ: :МАОСИНИ!НИИНБ

ИЗ ЗАНОПНИИ БП!БИАЗБММЗ!ОЕ

!ОКПННА!ЕИПaМИЗ КИНМИИМБe,nТЕХОКИННИ МАО:

ПЗИЗМЕПО!С ЗАНОПМi СМ!НС

АНПМАОЗАНОПНСОB ПЗИЗПМ!МЕОЗАМСНИ!ЗАНПe

ЕТБИАЗОЗОЗИИПОАОНОИММЗ!ОПОИКИНМИИМИА!И!ЕРЧНБ !ИЕОИЗАННСМОИИНБСНО eННЕЕН ЗММАСПНИАППО!МЕОИСО!ВКОПНАИ!ИЕММЗ!ОМПСПО!МАИRОИНDПННИ

• Е

 

 

"

 

 

P

 

 

! Е

! K

С P

 

 

 

 

! О,М

И

 

 

 

 

ЗЕТНДНИМЗМ!i

 

 

 

 

 

Е

 

 

ИKС

ББ eЧ

К eЧЕ•

О ПsЧВ

Е

DПЧ О

 

 

,

\

 

 

82

ЧАСТЬ 1 Основы программирования на С#

Программа считывает строку, вводимую пользователем с клавиатуры, после чего проверяет ее с помощью функции I sAllDigits. Если функция возвраща­ ет false, программа выводит предупреждающее сообщение для пользователя. В противном случае программа преобразует строку в число с помощью функции Int32 . Parse ( ) , которая представляет собой альтернативу Convert . Toint32 ( ) . И наконец, программа выводит полученное число и его удвоенное значение (что должно доказывать корректность преобразования строки в число).

шд

а

к . .

(,й ,хS

подРоБносТЕХНИЧЕСКИЕm

СОВЕТ

Можно просто попытаться использовать функцию Convert ( ) для преобразования строки в число и обработать возможные исключе­ ния, генерируемые функцией преобразования. Однако, скорее всего, функция не сгенерирует исключения, а вернет некорректный резуль- тат; например в приведенном выше примере с вводом в качестве чис­ ла lАЗ вернет значение 1. Вы должны проверять вводимые данные самостоятельно.

Можно также воспользоваться методом Int32 . TryParse ( s , n ) , ко­ торый возвращает false, если анализ выполнен неудачно, и true, если все в порядке. Этот метод преобразует найденное число во второй параметр, переменную типа int. Данная функция не гене­ рирует исключений, а пример ее использования приведен в следу­ ющем разделе.

еьздз, ,, " рьеСр, i е, i Сиехртс,

ров

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