Несмотря на все удобства встраивания команд форматирования выводимых данных в вызовы методаWriteLine (), иногда все же требуется сформировать строку, содержащую отформатированные данные, но не отображать ее сразу. Это дает возможность отформатировать данные заранее, чтобы вывести их в дальнейшем на выбранное устройство. Такая возможность особенно полезна для организации работы в среде с графическим пользовательским интерфейсом, подобной Windows, где ввод-вывод на консоль применяется редко, а также для подготовки вывода на веб-страницу.

Вообще говоря, отформатированное строковое представление отдельного значения может быть получено двумя способами. Один из них состоит в применении методаString. Format (), а другой — в передаче спецификатора формата методуToStringO,относящемуся к одному из встроенных в C# числовых типов данных. Оба способа рассматриваются далее по порядку.

Применение метода String. Format () для форматирования значений

Дляполучения отформатированного значения достаточно вызвать методFormat (),определенный в классеString,в соответствующей его форме. Все формы этого метода перечислены в табл. 22.5. МетодFormat() аналогичен методуWriteLine(), за исключением того, что он возвращает отформатированную строку, а не выводит ее на консоль.

Метод

Описание

public

static string

Форматирует объект argO в соответствии с первой ко

Format

(stringformat,

мандой форматирования, которая содержится в строке

obj ect

argO)

format. Возвращает копию строки format, в которой команда форматирования заменена отформатированными данными

public

static string

Форматирует объект argO в соответствии с первой

Format

(stringformat,

командой форматирования, содержащейся в строке

object

argO,objectargl)

format, а объект argl в соответствии со второй командой. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

public

static string

Форматирует объекты argO, argl и агд2 по соответ

Format

(stringformat,

ствующим командам форматирования, содержащимся

obj ect

argO,objectargl,

в строке format. Возвращает копию строки format, в

obj ect

arg2)

которой команды форматирования заменены отформатированными данными

public

static string

Форматирует значения, передаваемые в массиве args,

Format

(stringformat,

в соответствии с командами форматирования, содержа

params

object[]args)

щимися в строке format. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

public

static string

Форматирует значения, передаваемые в массиве args,

Format

(IFormatProvider

в соответствии с командами форматирования, содержа

provider,stringformat,

щимися в строке format, используя поставщик фор

params

object[]args)

мата provider. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

Ниже приведен вариант предыдущего примера программы форматирования, измененный с целью продемонстрировать применение методаString.Format(). Этот вариант дает такой же результат, как и предыдущий.

// Использовать метод String.Format() для форматирования значений, using System;

class FormatDemo { static void Main() {

Перейти на страницу:

Похожие книги