Читаем C# 4.0: полное руководство полностью

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

В приведенной ниже программе демонстрируется форматирование объектов типа TimeSpan на примере отображения времени, которое приблизительно требуется для вывода на экран 1000 целых значений в цикле for.

// Отформатировать объект типа TimeSpan.

using System;

class TimeSpanDemo {

  static void Main() {

    DateTime start = DateTime.Now;

    // Вывести числа от 1 до 1000.

    for(int i = 1; i <= 1000; i++)    {

      Console.Write(i + " ");

      if((i % 10) == 0) Console.WriteLine();

    }

    Console.WriteLine();

    DateTime end = DateTime.Now;

    TimeSpan span = end - start;

    Console.WriteLine("Время выполнения: {0:c}", span);

    Console.WriteLine("Время выполнения: {0:g}", span);

    Console.WriteLine("Время выполнения: {0:G}", span);

    Console.WriteLine("Время выполнения: 0.{0:fff} секунды", span);

  }

}

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

. . .

981 982 983 984 985 986 987 988 989 990

991 992 993 994 995 996 997 998 999 1000

Время выполнения: 00:00:00.0140000

Время выполнения: 0:00:00.014

Время выполнения: 0:00:00:00.0140000

Время выполнения: 0.014 секунды

<p>Форматирование перечислений</p>

В C# допускается также форматировать значения, определяемые в перечислении. Вообще говоря, значения из перечисления могут отображаться как по имени, так и по значению. Спецификаторы формата перечислений сведены в табл. ”22.10. Обратите особое внимание на форматы G и F. Перед перечислениями, которые должны представлять битовые поля, следует указывать атрибут Flags. Как правило, в битовых полях хранятся значения, обозначающие отдельные двоичные разряды и упорядоченные по степени числа 2. При наличии атрибута Flags имена всех битовых составляющих форматируемого значения, если, конечно, это действительное значение, отображаются с помощью спецификатора G. А с помощью спецификатора F отображаются имена всех битовых составляющих форматируемого значения, если оно составляется путем логического сложения по ИЛИ двух или более полей, определяемых в перечислении.

Таблица 22.10. Спецификаторы формата перечислений

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

Назначение

D

Отображает    значение    в виде десятичного целого числа

d

То же, что и D

F

Отображает имя значения. Если это значение можно создать путем логического сложения по ИДИ двух или более полей, определенных в перечислении, то данный спецификатор отображает имена всех битовых составляющих заданного значения, причем независимо оттого, задан атрибут Flags или нет

f

То же, что и F

G

Отображает имя значения.    Если перед форматируемым перечислением    указывается атрибут Flags, то данный спецификатор отображает имена всех битовых составляющих заданного значения, если, конечно, это допустимое значение

g

То же, что и G

X

Отображает значение в виде шестнадцатеричного целого числа. Для отображения как минимум восьми цифр форматируемое значение дополняется (при необходимости) начальными нулями

х

То же, что и X

В приведенной ниже программе демонстрируется применение спецификаторов формата перечислений.

// Отформатировать перечисление.

using System;

class EnumFmtDemo {

  enum Direction { North, South, East, West }

  [Flags]

  enum Status {

    Ready = 0x1, OffLine = 0x2,

    Waiting = 0x4, TransmitOK = 0x8,

    ReceiveOK = 0x10, OnLine = 0x20

  }

  static void Main() {

    Direction d = Direction.West;

    Console.WriteLine("{0:G}", d);

    Console.WriteLine("{0:F}", d);

    Console.WriteLine("{0:D}", d);

    Console.WriteLine("{0:X}", d);

    Status s = Status.Ready | Status.TransmitOK;

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

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

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Adobe InDesign CS3
Adobe InDesign CS3

Книга посвящена верстке и макетированию в программе Adobe InDesign CS3. Помимо того что в ней описываются возможности программы, рассматриваются также принципы и традиции верстки, приводятся примеры решения типичных задач. Все это позволит читателю не только овладеть богатым инструментарием программы, но и грамотно применять его.Материал книги разделен на логические части: теоретические сведения, инструментарий программы, решение задач, – а также рассчитан на два уровня подготовки читателей – начинающих и опытных пользователей, что выгодно отличает книгу от других изданий. Это позволит применять ее как новичкам для знакомства с программой, так и пользователям со стажем для пополнения своих знаний.

Владимир Гавриилович Завгородний , Владимир Завгородний

Программирование, программы, базы данных / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных