Главная » Просмотр файлов » Г. Шилдт - С#4.0 Полное руководство

Г. Шилдт - С#4.0 Полное руководство (1160795), страница 161

Файл №1160795 Г. Шилдт - С#4.0 Полное руководство (Г. Шилдт - С#4.0 Полное руководство) 161 страницаГ. Шилдт - С#4.0 Полное руководство (1160795) страница 1612019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 161)

Этот параметр определяет, являются ли пустые строки частью разделяемой в итоге строки. Ниже приведены все эти формы метода Бр11С () . риЫгс ягггпд(] БР1гг(рагашя сваг() зерагасог,згг1пдзр11горггопв оргзопз) роЫ1с згггпд() Бр11С (яггьпд () зерагагог, Бгггпдзр1ггорггопз оргзопш роЫгс вгггпд(] Бр11С (рагашз сьаг (] яерагагог, гпС соолс, БСг1пдзр11СОРС1опя орггопя) рпЫьс ягггпд(] Бр11С(ягггпд()яерагагог, 1пг сопля, БСггпдзр11СОрггопв орегопя) В двух первых формах метода Бр11С ( ) вызывающая строка разделяется на части и возвращается массив, содержащий подстроки, полученные из вызывающей строки. Символы, разделяющие эти подстроки, передаются в массиве яерагасог.

Если массив зерага сог пуст, то в качестве разделителя используется пробел. А в третьей и четвертой формах данного метода возвращается количество строк, ограничиваемое параметром соил с. Но во всех формах параметр орсгопз обозначает конкретный способ обработки пустых строк, которые образуются в том случае, если два разделителя оказываются рядом. В перечислении БСггпдБр11СОРС№опя определяются только два значения: иоле и еешоуеешрсуепсг1ея. Если параметр орс1опз принимает значение Иоле, то пустые строки включаются в конечный результат разделения исходной строки, как показано в предыдущем примере программы.

А если параметр орСЕопя принимает значение ЕешотеЕшргуЕпгг1ея, то пустые строки исключаются из конечного результата разделения исходной строки. Для того чтобы стали понятнее последствия исключения пустых строк, попробуем заменить в предыдущем примере программы строку кода воггпд() раггв = вгг.зрасг(веря) г следующим фрагментом кода. яггьпд(] раггя = ягг.зр11С(яеря, БСггпдзр11СОргсопя.нешотевшргуЕпгггев); При выполнении данной программы получится следующий результат. Результат разделения строки: Один на суше другой на море Результат соединения строки: Один ( на ( суше ( другой ( на ( море Как видите, пустая строка, появлявшаяся ранее из-за того, что после слова "суше" следовали запятая и пробел, теперь исключена.

Разделение является очень важной процедурой обработки строк, поскольку с его помощью нередко получают отдельные лексемы, составляющие исходную строку. Так, в программе ведения базы данных может возникнуть потребность разделить с помощью метода Бр1гс (] строку запроса "показать все остатки больше 100" на отдельные части, включая подстроки "показать" и "100". В процессе разделения исключаются разделители, поэтому в итоге получается подстрока "показать" (без начальных и конечных пробелов), а не подстрока " показать".

Этот принцип демонстрируется Глава 22. Строки и Форматирование 807 О Преобразовать строки в лексема. оягпч Бувтезт с1авв токеп1яеоезо ( ягагтс чоМ Иагп() Ягг1пч[] 1ПРпс = ( ( "100 е 19", "100 / 3,3", "— 3* 9ГО "1ОΠ— 87" )) ')' снаг[] веря = гог(гпг 1=0; г < ворог.ьепчгьт 1ьь) ( О разделить строку на части ясгьп9[) рагся = ьпрот[г].зр1гс(веря) Сопяо1е.иггсе("Команда: "); гог(1пс 3=0; 3 < раста.ьепчсь) 1++) Сопяо1е.игьсе(рагся[3] + " ")' Сопво1е.иг1се(", результат: ")т ОооЬ1е и = ОооЬ1е.рагяе(раков[0))т бопЬ1е п2 = ОопЬ1е.рагве(рагсв[2]); вн1ссЬ(раггя[1)) ( саяе "+": Сопво1е .Хгьсет ьпе (п + п2); Ьгеа)п саве "-": Сопяо1е.игьгеЬьпе(п — п2); Ьгеакт саве "*": Сопво1е.иг1сеЬьпе(п * п2); Ьгеакт саве сопво1е.хгггеььпе(п / п2)т Ьгеа)п Вот к какому результату приводит выполнение втой программы.

Команда: 100 + 19, результат: 119 Команда. "100 / 3,3 , результат: 30,3030303030303 Команда: -3 * 9, результат: -27 Команда: 100 — 87, результат: 13 Начиная с версии 4.0, в среде .]ь[ЕТ Ргагпеьуог[< стали доступными следующие дополнительные формы метода до1п ( ) . в приведенном ниже примере программы, где строки, содержащие такие бинарные математические операции, как 10+ 5, преобразуются в лексемы, а затем эти операции выполняются и выводится конечный результат.

808 Часть П. Библиотека С(г риЬ1гс яСаСгс ясггпд яо1п(ясггпд яерагаСог, рагаея оЬЗесс(] иа1иев) риЫгс ясасгс ясггпд яосп(ясг1пд яерагасог, ТЕпияегаЫе<ясггпд>[) иа1иея) риЫгс ясасгс яСггпд Яо1п<Т> (ясггпд яерагаСог, 1ЕпиеегаЫе<т> [] иа1иея) В первой форме рассматриваемого здесь метода возвращается строка, содержащая строковое представление объектов из массива иа1 сея. Во второй форме возвращается строка, содержащая результат сцепления коллекции строк, обозначаемой параметром иа1 и ее. И в третьей форме возвращается строка, содержащая результат сцепления строковых представлений объектов из коллекции, обозначаемой параметром иа1иея. Во всех трех случаях каждая предыдущая строка отделяется от последующей разделителем, определяемым параметром зерага сог. Заполнение и обрезка строк Иногда в строке требуется удалить начальные и конечные пробелы.

Такая операция называется обрезкой и нередко требуется в командных процессорах. Например, программа ведения базы данных способна распознавать команду "рпп(", но пользователь может ввести эту команду с одним или несколькими начальными и конечными пробелами. Поэтому перед распознаванием введенной команды необходимо удалить все подобные пробелы. С другой стороны, строку иногда требуется заполнить пробелами, чтобы она имела необходимую минимальную длину. Так, если подготавливается вывод результатов в определенном формате, то каждая выводимая строка должна иметь определенную длину, чтобы сохранить выравнивание строк. Для упрощения подобных операций в С() предусмотрены соответствующие методы. Для обрезки строк используется одна из приведенных ниже форм метода ТС1в () .

риЫгс ясггпд Тггп() риЫгс яСгспд Тгса(рагаея сьаг() СггтСЛагя) В первой форме метода Тгсгп () из вызывающей строки удаляются начальные и конечные пробелы, А во второй форме этого метода удаляются начальные и конечные вхождения в вызывающей строке символов из массива СгятСЛагя. В обеих формах возвращается получающаяся в итоге строка. Строку можно заполнить символами слева или справа.

Для заполнения строки слева служат такие формы метода Ра<]Ье СС () . риЫгс ясг1пд Расъегс(ьпс Сога1Я>ССЮ риЫсс ясггпд Расвесс (1пс СоСа1ИТОСЛ, сьаг раг(огпдяьаг) В первой форме метода РаЖесс () вводятся пробелы с левой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра соса1(Р1<(СЛ. А во второй форме данного метода символы, обозначаемые параметром раг(с(1 пд~Лаг, вводятся с левой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра СоСа1Ы1<(СЛ. В обеих формах возвращается получающаяся в итоге строка. Если значение параметра соса1Р)1<(сл меньше длины вызывающей строки, то возвращается копия неизмененной вызывающей строки. Для заполнения строки справа служат следующие формы метода Ра<]Е1дЬС ( ) .

риЫ1с ясггпд Раг(К1дЬС(гпс Сога1ИТС(СЛ) риЫгс яСг1пд Раявсдьс(гпс Сога1И1дСЛ, сьаг ра<(<(1пдяьаг) В первой форме метода Ра<(ЬеСС () вводятся пробелы с правой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра соса1)г1<(сл. Глава 22. Строки и Форматирование 809 О Пример обрезки и заполнения строк. ияьпд Зуясеы; с1аяя Тггирабоеио ( вгаггс чо10 Ма).п() ( ясгтпч ясг = "тест"; сопво1е.хгггеьгпе("исходная строка: " ь ягг) Заполнить строку пробелами ясг = ясг.расвеГГ(10); Сопво1е.иг1сепгпе(")" + всг + слева. ")")г /! Заполнить строку пробелами згг = вгг.расП10Ьг(20) 1 Сопяо1е.иггге01пе(")" + вгг + справа.

!/ Обрезать пробелы. зсг = всг.тгги(); Сопзо1е.игггеьтпе (")" + згг + "("); О Заполнить строку символами ягг = вгг.Рабьегг(10, '()')г Сопзо1е.иггсеьапе("(" + всг + () слева. !/ Заполнить строку символами зсг = зсг.расв10ЛГ(20, 'Ф')г Сопво1е.иг1сеьгпе (" )" + всг + Л справа. /У Обрезать символы (>. всг = всг.тгги('Н) ) Сопяо1е.иггсеьгпе("(" + всг + ) ) ")") г Эта программа дает следующий результат. Исходная строка: тест тест) тест >тест( (НННтест( ( Н()Н()тест(>()()ЛИНН ) )тест) А во второй форме данного метода символы, обозначаемые параметром рас)с(1пдСЛаг, вводятся с правой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра соса1хтг(гл. В обеих формах возвращается получающаяся в итоге строка.

Если значение параметра соса1изг)СЛ меньше длины вызывающей строки, то возвращается копия неизмененной вызывающей строки. В приведенном ниже примере программы демонстрируются обрезка и заполнение строк. 81О Часть П. Библиотека С(г Вставка, удаление и замена строк Для вставки одной строки в другую служит приведенный ниже метод 1п ее гС (): риь11с ясггпд 1пвегс(гпс ясагс1пОех, ясгапд ча1ие) где ча1ие обозначает строку, вставляемую в вызывающую строку по индексу я С а гС 1лс(ех. Метод возвращает получившуюся в итоге строку.

Для удаления части строки служит метод Невоче () . Ниже приведены две его формы. рив11с вггспд Кевине(гпг ягагС1пдех) риЬ11с ягг1пд Везоне(гпг ягагС1пс(ех, 1пС соипС) В первой форме метода йеиоче () удаление выполняется, начиная с места, указываемого по индексу я С ах С1лс(ех, и продолжается до конца строки. А во второй форме данного метода из строки удаляется количество символов, определяемое параметром соил с, начиная с места, указываемого по индексу я сагсглс(ех.

В обеих формах возвращается получающаяся в итоге строка. Для замены части строки служит метод Нер1асе ( ) . Ниже приведены две его формы. риЬ11с вог1пд Яер1асе(сваг о1г(СЛаг, ссаг пеыСЛаг) риЬ1гс яггспд Кер1асе(ягг1пд о1г)ув1ие, яггспд пениа1ие) В первой форме метода Вер1асе () все вхождения символа о1с(СЛаг в вызывающей строке заменяются символом леыСЛаг. А во второй форме данного метода все вхождения строки о14((га1 ие в вызывающей строке заменяются строкой л еыуа1ие.

В обеих формах возвращается получающаяся в итоге строка. В приведенном ниже примере демонстрируется применение методов 1пяегС (), йеиоче () и йер1асе () . // Пример вставки, замены н удаления строк. ивспд Зуягеьи с1аяв 1пвнеркенлево ( ясассс ного наап() яггспд ягг = "Зто тест"; Сопво1е.игсгесгпе("Исходная строка: " + ягг)1 // Вставить строку.

ягг = ягг.1пяегг(4, "простой ")! Сопяо1е.игсгеьспе(вгг)) // Заменить строку. ясг = ясг.рер1асе("простой", "непростой "); сопяо1е.хггсесгпе(ясг)1 // Заменить снмвалы в строке яог = ягг.кер1асе('т', 'Х'); сопяо1е.хгссеьапе(ясг)1 // Удалить строку. яог = ягг.Кевине(4, 5) Сопяо1е.иггкекапе(ягг) ) ) Глава 22. Строки и форматирование 811 Ниже приведен результат выполнения этой программы. Исходная строка: Этс тест Это простой тест Этс непростой тест ЭХс непрссХсй ХесХ ЭХс сХсй ХесХ Смена регистра В классе Э с г1пд предоставляются два удобных метода, позволяющих сменить регистр букв в строке, — То()ррет () и ТоЬонет () .

Ниже приведены их простейшие формы. риЬзвс атгтпд ТсЬснег() риЫ1с аСЫпд Тсдррег() Метод ТоЬонет () делает строчными все буквы в вызывающей строке, а метод тоцррет () делает их прописными. В обоих случаях возвращается получающаяся в ьпоге строка. Имеются также следующие формы этих методов, в которых можно указывать информацию о культурной среде и способы преобразования символов. риЫьс аггьпд ТсЬснег (Си1Сиге1псс си1гиге) риЫ1с агг1пд тсоррет(Си1Сите1пгс си1Сиге) С помощью этих форм можно избежать неоднозначности в исходном коде по отношению к правилам смены регистра.

Именно для таких целей эти формы и рекомендуется применять, Кроме того, имеются следующие методы т о () р р е г 1 и и а г1 а и с ( ) и ТоЬонет1пиаттапС(). риЫТс аггспд Тсцррег1пиатьапг() риЫЬс агг1пд ТсЬснег1пиатьапг() Эти методы аналогичны методам То()ррет () и ТоЬонет (), за исключением того, что они изменяют регистр букв в вызывающей строке безотносительно к настройкам культурной среды. Применение метода БыЬе~х ~гтд () Для получения части строки служит метод БиЬ ест спд ( ) .

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

Тип файла
DJVU-файл
Размер
7,66 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее