- •1. Введение в ооп
- •1.1. Этапы развития технологий программирования
- •1.2. Введение в ооп
- •2. Понятие класса и объекта класса. Инкапсуляция в c#
- •2.1. Понятие класса и объекта класса. Создание объектов. Данные и методы класса
- •2.2. Передача параметров в методы класса
- •2.3. Конструкторы и деструкторы
- •2.4. Инкапсуляция в c#
- •3. Индексаторы и свойства
- •3.1. Индексаторы
- •3.2. Свойства
- •4. Наследование в c#
- •5. Полиморфизм в c#. Интерфейсы
- •5.1. Виртуальные методы и их переопределение
- •5.2. Применение абстрактных классов
- •5.3. Интерфейсы
- •6. Система типов языка c#
- •7. Структуры и перечисления
- •7.2. Тип структур
- •8. Операторы и управляющие конструкции языка c#
- •8.1. Арифметические операторы
- •8.2. Операторы отношения и логические операторы
- •8.3. Оператор присваивания
- •8.4. Оператор ?
- •8.5. Управляющие операторы
- •9. Массивы и строки
- •9.1. Массивы в c#
- •9.1.1. Одномерные массивы
- •9.1.2. Многомерные массивы
- •9.1.3. Ступенчатые массивы
- •9.2. Строки
- •9.2.1. Постоянство строк
- •10. Платформа .Net. Основные понятия и принципы работы
- •11. Пространства имен. Сборки
- •11.1. Пространства имён
- •11.2. Сборки
- •12. Время жизни переменных и область видимости переменных. Оператор new и сборка мусора
- •12.2. Финализация объектов
- •12.3. Создание высвобождаемых объектов
- •13. Исключения. Генерация и обработка
- •13.1. Основы обработки исключительных ситуаций
- •13.2. Применение пары ключевых слов try и catch
- •13.3. Генерирование исключений вручную
- •13.4. Использование блока finally
- •13.5. Класс Exception и получение производных классов
- •13.6. Ключевые слова checked и unchecked
- •14. Обобщения (шаблоны) и их применение в языке c#
- •15. Основные классы коллекций объектов
- •15.1. Интерфейсы необобщенных коллекций
- •15.1.1. Интерфейс iCollection
- •15.1.2. Интерфейс iList
- •15.1.3. Интерфейс iDictionary
- •16. Использование linq для работы с коллекциями
- •16.1. Простой запрос
- •16.2. Общая форма запроса
- •16.3. Сортировка результатов запроса с помощью оператора orderby
- •16.4 Операторы group, into, let и join
- •16.5. Методы запроса
- •16.6. Формирование запроса с помощью методов запроса
- •Заключение
- •Оглавление
- •1. Введение в ооп 3
- •1.1. Этапы развития технологий программирования 3
- •1.2. Введение в ооп 11
- •394026 Воронеж, Московский просп., 14
9.2. Строки
Строчный тип (System.String) определяет и поддерживает символьные строки. В С# строки являются объектами. Следовательно, тип string относится к числу ссылочных.
Самый простой способ построить символьную строку — воспользоваться строковым литералом. Например, в следующей строке кода переменной ссылки на строку str присваивается ссылка на строковый литерал.
string str = "Строки в С# весьма эффективны.";
В данном случае переменная str инициализируется последовательностью символов "Строки в С# весьма эффективны."
Объект типа string можно также создать из массива типа char. Например:
char[] charray = {'t', 'е', 's', 't'} ;
string str = new string(charray);
Как только объект типа string будет создан, его можно использовать везде, где только требуется строка текста, заключенного в кавычки.
В System. String предоставляется набор методов для определения длины символьных данных, поиска подстроки в текущей строке, преобразования символов из верхнего регистра в нижний и наоборот, и т.д. В табл. 4 перечислены некоторые наиболее интересные члены этого класса.
Таблица 4
Некоторые члены класса System.String
Член |
Описание |
Length |
Свойство, которое возвращает длину текущей строки |
Compare() |
Статический метод, который позволяет сравнить две строки |
Contains() |
Метод, который позволяет определить, содержится ли в строке определенная подстрока |
Equals() |
Метод, который позволяет проверить, содержатся ли в двух строковых объектах идентичные символьные данные |
Insert() |
Метод, который позволяет вставить строку внутрь другой определенной строки |
PadLeft() |
Методы, которые позволяют дополнить строку какими-то символами, соответственно, справа или слева |
PadRight() |
|
Remove() |
Методы, которые позволяют получить копию строки с соответствующими изменениями (удалением или заменой символов) |
Replace() |
|
Split() |
Метод, возвращающий массив string с присутствующими в данном экземпляре подстроками внутри, которые отделяются друг от друга элементами из указанного массива char или string |
Trim() |
Метод, который позволяет удалять все вхождения определенного набора символов с начала и конца текущей строки |
ToUpper() |
Методы, которые позволяют создавать копию текущей строки в формате, соответственно, верхнего или нижнего регистра |
ToLower() |
Переменные string могут сцепляться вместе для создания строк большего размера с помощью такой поддерживаемой в С# операции, как +. Как известно, подобный прием называется конкатенацией строк.
Как и в других языках на базе С, в С# строковые литералы могут содержать различные управляющие последовательности символов (escape characters), которые позволяют уточнять то, как символьные данные должны выводиться в выходном потоке. Начинается каждая такая управляющая последовательность с символа обратной косой черты, за которым следует интерпретируемый знак:
\' - вставляет в строковый литерал символ одинарной кавычки;
\" - вставляет в строковый литерал символ двойной кавычки;
\\ - вставляет в строковый литерал символ обратной косой черты. Может быть полезной при определении путей к файлам и сетевым ресурсам;
\a - заставляет систему выдавать звуковой сигнал, который в консольных приложениях может служить своего рода звуковой подсказкой пользователю;
\n - вставляет символ новой строки;
\r - вставляет символ возврата каретки;
\t - вставляет в строковый литерал символ горизонтальной табуляции.
За счет добавления к строковому литералу префикса @ можно создавать так называемые дословные строки (verabtim string). Дословные строки позволяют отключать обработку управляющих последовательностей в литералах и выводить объекты string в том виде, в каком они есть. Эта возможность наиболее полезна при работе со строками, представляющими пути к каталогам и сетевым ресурсам. Таким образом, вместо использования управляющей последовательности \\ можно написать следующий код:
Console.WriteLine(@"C:\MyApp\bin\Debug");