
- •1.Структура программы
- •1.1. Типы данных
- •1.1.1. Целые типы
- •1.1.2. Дробные (вещественные) типы
- •1.1.3. Логический тип
- •1.1.4. Строковый тип
- •1.1.5. Арифметические операторы
- •1.1.6. Нечисловые простые типы
- •1.1.7. Текстовые типы
- •2. Операторы ввода/вывода
- •2.1. Операторы ввода
- •2.2. Операторы вывода
- •2.3. Форматированный вывод
- •3. Логические выражения
- •3.1. Операции сравнения
- •3.2.1.Поразрядные операции » и «
- •3.2.2.Булевские операции присваивания
- •4.Ветвления
- •4.1. Тернарная операция
- •4.2.1. Оператор if
- •4.2.1. Внутристроковый условный оператор
- •4.3.1. Оператор switch
- •5. Организация циклов
- •5.1.Циклы do
- •5.2. Циклы while
- •5.3. Циклы for
- •5.4. Прерывание циклов
- •5.5. Бесконечные циклы
- •6. Преобразование типов
- •6.1. Неявное преобразование
- •6.2. Явное преобразование
- •6.3. Явные преобразования с помощью команд Convert
- •7. Массивы
- •7.1. Объявление массива
- •7.2 Циклы foreach
- •7.3. Многомерные массивы
- •7.4. Массивы массивов
- •8.Строки
- •8.Структуры (доделать)
- •9.Функции и процедуры
- •10.Метод Main()
- •11.Работа с файлы
- •12.Обработка ошибок и исключений(try.. .Catch.. .Finally)
8.Строки
В программах строки играют важную роль. В строках формируется понятная
пользователю текстовая информация. Строки содержат шаблоны форматирования
результатов вычислений. Выводом строк можно манипулировать и направлять его на
различные устройства: на экран, на принтер, записывать в файлы. Со строками
выполняют следующие операции: клонирование, объединение/вставка, усечение/удаление, извлечение подстроки, изменение регистра символов, поиск подстроки и т.д.
Переменная, ссылающаяся на экземпляр строки, может изменяться,
присваивая ссылку на новый объект. Сам экземпляр строки меняться не может
(правило постоянства строк). Операции, манипулирующие строками, создают новые строковые объекты и возвращают ссылки на них.
При инициализации экземпляра строки вычисляется доступное для чтения в программе свойство Length, содержащее количество символов в строке. Это свойство удобно применять в цикле для перебора символов, составляющих строку.
Наиболее часто используемые методы класса string:
Clone– возвращает ссылку на данный экземпляр.
Compare – сравнивает две строки, возвращает отрицательное значение, если
первая строка меньше второй, положительное, если больше и ноль, если строки
равны. В дополнительных параметрах можно указать режим сравнения (см. справку).
Concat – объединяет строки.
Contains– возвращает true, если строка содержит указанную подстроку.
Copy – создаѐт новый экземпляр строки с копией содержимого.
EndsWith – возвращает true, если указанная подстрока совпадает с концом
строки.
Equals – возвращает true, если строки равны.
Format – заменяет один или более элементов формата в указанной строке
строковым представлением соответствующего объекта. Формат задаѐтся аналогично
строке формата оператора WriteLine, что рассматривалось ранее.
IndexOf – выполняет поиск подстроки с указанной позиции и возвращает первый
индекс вхождения.
Insert – вставляет одну строку в другую по указанному смещению.
LastIndexOf – возвращает индекс последнего вхождения подстроки в строке.
PadLeft, PadRight– возвращают новую строку, в которой знаки данного
экземпляра выровнены по правому (левому) краю путем добавления слева (справа)
пробелов или указанного знака Юникода до указанной общей длины.
Remove – удаляет подстроку из строки.
Replace – заменяет все вхождения подстроки в строке на указанное значение.
Split – возвращает строковый массив, содержащий подстроки данной строки,
разделенные указанными символами.
StartsWith – возвращает true, если указанная подстрока совпадает с началом
текущей строки.
Substring – извлекает подстроку.
ToCharArray– копирует строку в символьный массив.
ToLower – возвращает копию строки с переведенными в нижний регистр
символами.
ToUpper – возвращает копию строки с переведенными в верхний регистр
символами.
Trim– удаляет начальные и конечные пробелы или другие указанные символы в строке.
TrimEnd, TrimStart – удаляет все конечные (начальные) вхождения набора
знаков, заданного в виде массива, из текущей строки.
Есть возможность создать строку, которую можно использовать для вывода в форму, файл и др.
using System;
class Exs
{
static string SH(DateTime d)
{
int h = d.Hour % 10;
if (h > 4 || h == 0) return "часов";
else if (h == 1) return "час";
else return "часа";
}
static string SM(DateTime d)
{
int m = d.Minute % 10;
if (m > 4 || m == 0) return "минут";
else if (m == 1) return "минута";
else return "минуты";
}
static void Main()
{
string format = "Текущее время: {0:HH} {1} {0:mm} {2}";
var d1 = DateTime.Now;
string s1 = String.Format(format, d1, SH(d1), SM(d1));
Console.WriteLine(s1);
}
}
С помощью шаблона представления в программе создаётся строка s1, в которую с помощью строки формата вводится значение текущего времени с учётом склонения слов, вычисляемого в отдельных методах.