- •Глава 9. Многомерные массивы
- •9.1 Прямоугольные массивы
- •9.1.1 Объявления и инициализация
- •9.1.2 Примеры
- •9.2 Ступенчатые массивы
- •9.2.1 Объявления и инициализация
- •9.2.2 Примеры
- •9.3 Оператор цикла с перебором foreach
- •9.4 Массивы с числом размерностей больше двух
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
- •Глава 10. Исключительные ситуации
- •10.1 Основные понятия
- •10.2 Механизм обработки исключений
- •10.3 Примеры обработки исключений
- •10.4 Оператор throw
- •10.5 Дополнительные сведения
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
- •Глава 11. Обработка текстовой информации
- •11.1 Символьный тип char
- •11.2 Массив символов
- •11.3 Тип String
- •11.4 Класс StringBuilder
- •11.5 Форматирование строк
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
Контрольные вопросы
Что такое «исключительная ситуация»?
Обработка какого типа исключений поддерживается в С#?
Каким образом обычная система реагирует на неправильные действия программы?
Каким образом С#позволяет в ряде случаев предотвратить аварийную остановку программы?
Дайте пояснения определению стандартных исключений в С#.
Из какого встроенного класса должны быть выведены все классы исключений в С#?
Куда помещаются программные инструкции, которые нужно проконтролировать на предмет исключений?
С помощью какого блока выброшенное исключение может быть перехвачено программным путем и обработано соответствующим образом?
Какие блоки являются ядром обработки исключений?
Перечислите наиболее часто используемые исключения, определенные в пространстве имен System.
Приведите формат записи try/catch-блоков обработки исключений.
В каком случае создается обработчик "глобального перехвата", какой вид он имеет?
Приведите пример программы с обработкой некоторых исключений.
Для чего используется оператор throw? Приведите пример его использования.
Варианты заданий для самостоятельной работы
Для задания главы 8 оптимизировать программу, включив в нее обработку исключительных ситуаций.
Глава 11. Обработка текстовой информации
В предыдущих главах книги изложение материала фокусировалось на числовых типах данных. Следует указать, что платформа .NET поддерживает помимо числовых типов еще два основных типа данных: строковые и определяемые пользователем.
С точки зрения практического программирования одним из важных его аспектов является обработка текстовой информации, и любой современный язык программирования имеет для решения задач данного типа свои в той или иной мере развитые средства.
Поскольку любой текст можно рассматривать и как последовательность отдельных символов и как строку, то функциональные возможности наиболее современного языка С# должны быть достаточны для выполнения разнообразных преобразований всех видов текстовой информации. Типы данных в С# позволяют работать и с отдельными символами, и с массивами символов, и со строками. Рассмотрим эти возможности.
11.1 Символьный тип char
Символьный тип charбазируется на стандартном классеCharбиблиотеки.NETиз пространства именSystem. Он является встроенным типом языка и предназначен для хранения символов вUnicode.
Таблица 11.1–Основные методы классаSystem.Char
Метод |
Пояснение |
GetNumericValue |
Возвращает числовое значение символа, если он является цифрой, и -1 в противном случае |
GetUnicodeCategory |
Возвращает категорию Unicodе-символа |
IsControl |
Возвращает truе, если символ является управляющим |
IsDigit |
Возвращает truе, если символ является десятичной цифрой |
IsLetter |
Возвращает truе, если символ является буквой |
IsLetterOrDigit |
Возвращает truе, если символ является буквой или цифрой |
IsLower |
Возвращает truе, если символ задан в нижнем регистре |
IsNumber |
Возвращает truе, если символ является числом (десятичным или шестнадцатеричным) |
IsPunctuation |
Возвращает truе, если символ является знаком препинания |
IsSeparator |
Возвращает truе, если символ является разделителем |
IsUpper |
Возвращает truе, если символ записан в верхнем регистре |
IsWhiteSpace |
Возвращает truе, если символ является пробельным (пробел,перевод строки и возврат каретки) |
Раrse |
Преобразует строку в символ (строка должна состоять из одного символа) |
ToLower |
Преобразует символ в нижний регистр |
ТоUрреr |
Преобразует символ в верхний регистр |
МахValuе, МinValuе |
Возвращают символы с максимальным и минимальным кодами (эти символы не имеют видимого представления) |
Класс System.Charобъединяет в себе целый ряд методов (табл. 11.1), которые позволяют намного облегчить написание программ обработки символьной информации. Набор методов этого класса позволяют распознавать символы различного назначения и выполнять над ними распространенные операции.