Вы находитесь на странице: 1из 3

C# и .

Net Framework – Часть 1 – Основы программирования и проектирования

Урок 4. Строки
О чем урок
Вам предстоит изучить строки C# достаточно пристально. Вы узнаете тонкости их устройства и
специфику обработки. На простых примерах вы опробуете все самые полезные методы классов
символа и строки.

Будет подробно освещена тема кодировок и встроенных механизмов .Net Framework работы с
ними. Вы узнаете о том, что такое ASCII, Unicode, UTF-8, кодовые страницы, увидите отличия на
уровне байтовых последовательностей и, наконец, сможете пользоваться всем этим в .Net.

Вы научитесь правильно выбирать инструменты обработки символьной информацией, и увидите,


как можно ускорить выполнение типовой задачи в 1029 раз.

Выполняя практическую часть занятия, вы напишите свой консольный Интернет-браузер, а также


парсер сайта Школы Программирования (или любого другого блога).

Для выполнения заданий вам придется научиться анализировать HTML, реализовать собственную
функцию «Перенос строк» и выполнить множество других задач обработки символьной
информации. Также вы познакомитесь с инструментом сканирования текстов, который
использовался при написании реальных Интернет-ботов.

Самоконтроль
 строки в C и C++
 строки в C#
 immutable
 ограничения и причины неизменности строк
 равенство и неравенство строк
 равенство и неравенство ссылок на строки
 intern pool
 строковые литералы
 символьные литералы
 символ и его размер
 кодировка
 популярные кодировки
 родная кодировка C#
 явное приведение символов и целых чисел
 класс Char
 статические методы класса Char
 экранирование символов
 форматирование строк
 класс String

Школа Программирования, Ляпин Дмитрий, 2011 г. Страница 1


C# и .Net Framework – Часть 1 – Основы программирования и проектирования

 статические методы класса String


 инициализация строк
 получение длины строки
 получение символа по индексу
 проверка строки на содержание текста
 поиск в строке
 вставка текста в строку
 удаление текста из строки
 замена текста в строке
 комбинирование методов в одном выражении
 выделение подстроки
 обрезание пробелов
 изменение регистра строки
 разделение строки в массив
 склейка строки из массива
 переворот массива
 экранирование символов в строковых литералах
 когда актуальна кодировка в C#
 класс Encoding
 кодировка Windws-1251
 кодировка UTF-8
 метка BOM
 преобразование строки в массив байт
 отличие между UTF-8 и Windows-1251
 непригодность строк при интенсивном изменении символьной информации
 класс StringBuilder
 «линейная» зависимость времени работы StringBuilder от объема работы
 «квадратичная» зависимость времени работы String от объема работы
 разница между StringBuilder и String в случае конкатенации множественной конкатенации
 умение пользоваться технологией

Домашнее задание
1. Требуется изучить программу WebBrowser и внести следующие доработки:

 Реализовать класс HtmlCleaner, который должен удалять из HTML все теги, а также
скрипты и стили. На выходе должен остаться только тот текст, который виден на
странице при просмотре обычным браузером.

 Реализовать класс WordWrapper, который должен разбивать текст на строки


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

Школа Программирования, Ляпин Дмитрий, 2011 г. Страница 2


C# и .Net Framework – Часть 1 – Основы программирования и проектирования

 Внедрить рассмотренные выше инструменты в программу, добившись


информативного отображения содержимого веб-страниц в консольном
приложении.

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


другие технологии, не освещенные в курсе на текущий момент.

2. Требуется изучить программу ProgSchoolParser и внести следующие доработки:

 Реализовать показ текста статьи при выборе ее из главного меню.

 Реализовать показ комментариев к статье при выборе ее из главного меню.


Комментарий должен содержать имя автора и текст.

 Тексты статьей и комментариев должны быть очищены от HTML разметки и


правильно разбиты по строкам. Для выполнения данного требования следует
воспользоваться классами, разработанными для программы WebBrowser.

 Реализовать выделение цветом непрочитанных статей. Непрочитанной считается


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

 Реализовать выделение цветом новых комментариев. Новым считается такой


комментарий, которой пользователь видит на странице статьи впервые. Список
прочитанных комментариев также должен сохраняться в файле.

При выполнении задания не обязательно использовать сайт Школы Программирования.


Подойдет и любой другой блог. Для анализа нужна главная страница со списком
последних записей и страница конкретной статьи с текстом и комментариями.

Школа Программирования, Ляпин Дмитрий, 2011 г. Страница 3