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

Вопрос 40

Форматирование строк

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

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

Здесь n-номер параметра. Параметр m определяет минимальную ширину поля, которое отводится под выводимое значение Спецификаторы формата для строк

Спецификатор

Описание

С или с

Вывод значений в денежном (currency) формате. По умолчанию перед выводимым значением подставляется символ доллара ($). Непосредственно после спецификатора можно задать целое число, определяющее длину дробной части.

D или d

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

Е или е

Вывод значений в экспоненциальном формате. Непосредственно после спецификатора можно задать целое число, определяющее длину дробной части. Минимальная длина порядка — 3 символа.

F или f

Вывод значений с фиксированной точностью. Непосредственно после спецификатора можно задать целое число, определяющее длину дробной части.

G или g

Формат общего вида. Применяется для вывода значений с фиксированной точностью или в экспоненциальном формате в зависимости от того, какой формат требует меньшего количества позиций. Для различных типов величин по умолчанию используется разная ширина вывода, например, для single - 7 позиций, для byte и sbyte - 3, для decimal – 29.

N или n

Вывод значений в формате d, ddd, ddd. ddd..., то есть группы разрядов разделяются разделителями, соответствующими региональным настройкам. Непосредственно после спецификации можно задать целое число, определяющее длину дробной части.

Р или р

Вывод числа в процентном формате (число, умноженное на 100, после которого выводится знак %).

R или r

Отмена округления числа при преобразовании в строку.

X или х

Вывод значений в шестнадцатеричном формате.

Если указан знак #, на этом месте будет выведена цифра числа, если она не равна нулю. Если указан 0, будет выведена любая цифра, в том числе и 0.

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

Вопрос 41

Строки типа StringBuilder

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

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

StringBuilder s=new StringBuilder();

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

StringBuilder stud=new StringBuilder (“student”, 50);

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

Название Вид Описание

Append Метод Добавление в конец строки. Разные варианты метода позволяют добавлять в строку величины любых встроенных типов, массивы символов, строки и подстроки типа string

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

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

Insert Метод Вставка подстроки в заданную позицию

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

MaxCapacity Свойство Максимальный размер буфера

Remove Метод Удаление подстроки из заданной позиции

Replace Метод Замена всех вхождений заданной подстроки или символа новой подстрокой или символом

ToString Метод Преобразование в строку типа string

using System;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main()

{

string s;

StringBuilder w = new StringBuilder();

w.Append( "снег,лед,гололед,дождь " );

Console.WriteLine(w);

w.Insert(5,"солнце,");

Console.WriteLine(w);

Console.WriteLine("Введите построку");

s=Console.ReadLine();

w.Insert(0,s);

Console.WriteLine(w);

w.Replace( ",", ";" );

Console.WriteLine(w);

}

}

}

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