Net framework 5, а также среды Visual Studio 2012 и C#


Форматы и региональные стандарты



Download 6,27 Mb.
Pdf ko'rish
bet277/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   273   274   275   276   277   278   279   280   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

Форматы и региональные стандарты
У метода 
ToString
без параметров есть два недостатка. Во-первых, вызывающая 
программа не управляет форматированием строки, как, например, в случае, ког-
да приложению нужно представить число в денежном или десятичном формате, 
в процентном или шестнадцатеричном виде. Во-вторых, вызывающая программа не 
может выбрать формат, учитывающий конкретные региональные стандарты. Вто-
рой недостаток создает проблемы скорее для серверных приложений, нежели для 
кода на стороне клиента. Изредка приложению требуется форматировать строку с 
учетом региональных стандартов, отличных от таковых у вызывающего потока. Для 
управления форматированием строки нужна версия метода 
ToString
, позволяющая 
задавать специальное форматирование и сведения о региональных стандартах.
Тип может предложить вызывающей программе выбор форматирования и ре-
гиональных стандартов, если он реализует интерфейс 
System.IFormattable
:
public interface IFormattable {
String ToString(String format, IFormatProvider formatProvider);
}


381
Получение.строкового.представления.объекта
В FCL у всех базовых типов (
Byte

SByte

Int16
/
UInt16

Int32
/
UInt32

Int64
/
UInt64

Single

Double

Decimal
и 
DateTime
) есть реализации этого интерфейса. Кро-
ме того, есть такие реализации и у некоторых других типов, например 
GUID
. К тому 
же каждый перечислимый тип автоматически реализует интерфейс 
IFormattable

позволяющий получить строковое выражение для числового значения, содержа-
щегося в экземпляре перечислимого типа.
Метод 
ToString
интерфейса 
IFormattable
получает два параметра. Первый, 
format
, — это строка, сообщающая методу способ форматирования объекта. Вто-
рой, 
formatProvider
, — это экземпляр типа, который реализует интерфейс 
System.
IFormatProvider
. Этот тип предоставляет методу 
ToString
информацию о регио-
нальных стандартах. Как — скоро узнаете.
Тип, реализующий метод 
ToString
интерфейса 
IFormattable
, определяет до-
пустимые варианты форматирования. Если переданная строка форматирования 
неприемлема, тип должен генерировать исключение 
System.FormatException
.
Многие типы FCL поддерживают несколько форматов. Например, тип 
DateTime
поддерживает следующие форматы: 
"d"
— даты в кратком формате, 
"D"
— даты 
в полном формате, 
"g"
— даты в общем формате, 
"M"
— формат «месяц/день», 
"s"
— 
сортируемые даты, 
"T"
— время, 
"u"
— универсальное время в стандарте ISO 8601, 
"U"
— универсальное время в полном формате, 
"Y"
— формат «год/месяц» и т. д. 
Все перечислимые типы поддерживают строки: 
"G"
— общий формат, 
"F"
— формат 
флагов, 
"D"
— десятичный формат и 
"X"
— шестнадцатеричный формат. Подробнее 
о форматировании перечислимых типов см. главу 15.
Кроме того, все встроенные числовые типы поддерживают следующие строки: 
"C"
— формат валют, 
"D"
— десятичный формат, 
"E"
— научный (экспоненциаль-
ный) формат, 
"F"
— формат чисел с фиксированной точкой, 
"G"
— общий формат, 
"N"
— формат чисел, 
"P"
— формат процентов, 
"R"
— обратимый (round-trip) формат 
и 
"X"
— шестнадцатеричный формат. Числовые типы поддерживают также шаблоны 
форматирования для случаев, когда обычных строк форматирования недостаточно. 
Шаблоны форматирования содержат специальные символы, позволяющие методу 
ToString
данного типа отобразить нужное количество цифр, место разделителя 
дробной части, количество знаков в дробной части и т. д. Полную информацию 
о строках форматирования см. в разделе .NET Framework SDK, посвященном 
форматированию строк.
Если вместо строки форматирования передается 
null
, это равносильно вызову 
метода 
ToString
с параметром 
"G"
. Иначе говоря, объекты форматируют себя сами, 
применяя по умолчанию «общий формат». Разрабатывая реализацию типа, выбе-
рите формат, который, по вашему мнению, будет использоваться чаще всего; это 
и будет «общий формат». Кстати, вызов метода 
ToString
без параметров означает 
представление объекта в общем формате.
Закончив со строками форматирования, перейдем к региональным стандартам. 
По умолчанию форматирование выполняется с учетом региональных стандартов, 
связанных с вызывающим потоком. Это свойственно методу 
ToString
без параме-
тров и методу 
ToString
интерфейса 
IFormattable
со значением 
null
в качестве 
formatProvider
.


382
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   273   274   275   276   277   278   279   280   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish