Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_otvety.docx
Скачиваний:
6
Добавлен:
26.04.2019
Размер:
314.27 Кб
Скачать

56. Форматирование строк. Примеры использования.

В предыдущих темах для вывода информации о результатах работы программы использовались наиболее простые преобразования данных. Например, такое:

Console.Write(" " + x[i]),

где элемент числового массива в результате неявного преобразования в строковый тип и объединения со строкой из двух пробелов выводится на экран.

А оператор

Console.WriteLine ( "х={0} у={1} s={2}", х, у, s);

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

Параметры нумеруются с нуля, перед выводом они заменяются значениями со­ответствующих переменных в списке вывода: нулевой параметр заменяется значением первой переменной (в данном примере – х), первый параметр – второй переменной (в данном примере – у), второй параметр – значением переменной s.

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

В общем виде формат задается следующим образом:

{n [,m[:спецификатор_формата[число]]}

Здесь n – номер параметра. Параметр m определяет минимальную

ширину поля, которое отводится под выводимое значение. Если выводимому числу достаточно меньшего количества позиций, неиспользуемые позиции заполняются пробелами. Если числу требуется больше позиций, параметр игнорируется.

Пример: int k = 342;

double w=0.3456;

Console. WriteLine( k. ToString( "C" ) );

Console. WriteLine( k. ToString( "D" ) );

Console.WriteLine(k.ToString("e"));

Console. WriteLine( k. ToString( "G" ) );

Console. WriteLine( "{0,6:r}", w );

Console. WriteLine( "{0,6:0.##}", w );

57. Класс StringBuilder. Основные элементы класс StringBuilder. Примеры использования.

Когда строку все же необходимо изменить, для работы со строками удобно применять другой класс – класс StringBuilder. Данный класс, позволяющий изменять значение своих экземпляров, определен в пространстве имен System.Text.

При создании экземпляра обязательно использовать операцию new и конструктор, например:

StringBuilder s = new StringBuilder();

Подобная инициализация является наиболее простой – в ней отсутствуют инициализирующие параметры, которые в данном случае принимают значения по умолчанию. При этом создается пустая строка размером 16 байт.

В общем случае в конструкторе класса могут присутствовать два вида параметров. Первый вид параметров используется для инициализации строки, второй – для определения объема памяти (размера буфера), отводимой под экземпляр, например:

StringBuilder stud = new StringBuilder( "student", 50 );

При необходимости в целях экономии памяти размер буфера можно уменьшить с помощью свойства Сарасity.

Название

Вид

Описание

Append

Метод

Добавление в конец строки. Например: w.Append("снег") – в конец строки w добавлен текст "снег"

StringBuilder s1=new StringBuilder("Cogito ");             StringBuilder s2=new StringBuilder("ergo ");             s1.Append(s2);             s1.Append("sum");             System.Console.WriteLine(s1); //Напечатается "Cogito ergo sum"

AppendFormat

Метод

Добавление форматированной строки в конец строки

Capacity

Свойство

Получение или установка емкости буфера. Если устанавливаемое значение меньше текущей длины строки или больше максимального, генерируется исключение ArgumentOutOfRangeException

Insert

Метод

Вставка подстроки в заданную позицию. Например: w.Insert(5, "солнце") – вставка подстроки "солнце", начиная с 5-ой позиции строки w

         StringBuilder s1=new StringBuilder("abcde");             s1.Insert(2, "xyz");             System.Console.WriteLine(s1); //Напечатается "abxyzcde"

Length

Свойство

Длина строки (количество символов)

MaxCapacity

Свойство

Максимальный размер буфера

Remove

Метод

Удаление подстроки из заданной позиции. Например: w.Remove(i, 3) – удаление подстроки длиной 3 символа, начиная с позиции с номером i

StringBuilder s1=new StringBuilder("abcde");             s1.Remove(1, 2);             System.Console.WriteLine(s1); //Напечатается "ade"

Replace

Метод

Замена всех вхождений заданной подстроки или символа новой подстрокой или символом. Например:

w.Replace(",", ";") – замена всех "," на ";".

w.Replace(",", "") – удалит все "," без замены

      StringBuilder s=new StringBuilder("abcdeabcde");             s.Replace("abc", "ZZZ");             System.Console.WriteLine(s); //Напечатается "ZZZdeZZZde"

ToString

Метод

Преобразование в строку типа string. Например: w.ToString()

Основные элементы класса System.Text.StringBuilder

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]