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

ПРИМЕЧАНИЕ

Некоторые методы, определенные в структурах, соответствующих встроенным в C# типам значений, принимают параметры типа iFormatProvider или NumberStyles. Тип

I Format Provide г вкратце описывается далее в этой главе, а тип NumberStyles представляет собой перечисление из пространства имен System.Globalization. Вопросы форматирования подробнее рассматриваются в главе 22.

Структуры целочисленных типов данных

Ниже перечислены структуры целочисленных типов данных.

Byte

SByte

I n 116

Uintl6

Int32

UInt32

Int64

Uint64

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

Помимо перечисленных выше методов, в структурах целочисленных типов данных определены следующие поля типа const.

MaxValue

MinValue

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

Во всех структурах целочисленных типов данных реализуются следующие интерфейсы: IComparable, IComparable<T>, IConvertible, IFormattable

и IEquatable<T>, где параметр обобщенного типа Т заменяется соответствующим типом данных. Например, в структуре Int32 вместо Т подставляется тип int.

Метод

Назначение

Public int

Сравнивает числовое значение вызывающего объекта со

CompareTo(object value)

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

Public int CompareTo(int

Сравнивает числовое значение вызывающего объекта со

value)

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

Public override bool

Возвращает логическое значение true, если значе

Equals(object obj)

ние вызывающего объекта равно значению параметра

obj

Public bool Equals(int

Возвращает логическое значение true, если значе

obj)

ние вызывающего объекта равно значению параметра

obj

Public override int

Возвращает хеш-код для вызывающего объекта

GetHashCode()

Public TypeCode

Возвращает значение перечисления TypeCode для экви

GetTypeCode()

валентного типа. Например, для структуры Int32 возвращается значение TypeCode. Int32

Public static int

Возвращает двоичный эквивалент числа, заданного

Parse(string s)

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

Public static int

Возвращает двоичный эквивалент числа, заданного

Parse(string s,

в виде символьной строки s, с использованием фор

IformatProvider

матов данных, характерных для конкретной культурной

provi der)

среды и определяемых параметром provider. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

Public static int

Возвращает двоичный эквивалент числа, заданного

Parse(string s,

в виде символьной строки s, с использованием дан

NumberStyles styles)

ных о стилях, определяемых параметром styles. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

Метод

Назначение

Public static int

Возвращает двоичный эквивалент числа, заданного в виде

Parse(string s,

строки символьной s, с использованием данных о стилях,

NumberStyles styles,

определяемых параметром styles , а также форматов

IformatProvider

данных, характерных для конкретной культурной среды

provi der)

и определяемых параметром provider. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

Public override

String

Возвращает строковое представление значения вызы

ToString()

вающего объекта

Public string

Возвращает строковое представление значения вызы

ToString(string

format)

вающего объекта, как указано в форматирующей строке, определяемой параметром format

Public string

Возвращает строковое представление значения вызы

ToString(IformatProvider

вающего объекта с использованием форматов данных,

provi der)

характерных для конкретной культурной среды и определяемых параметром provider

Public string

Возвращает строковое представление значения вызы

ToString(string

format,

вающего объекта, как указано в форматирующей строке,

IformatProvider

определяемой параметром format , но с использова

provider)

нием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider

Public static bool

Предпринимает попытку преобразовать числовое значе

TryParse(string

s, out

ние, заданное в виде символьной строки s, в двоичное

int result)

значение. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse (), который генерирует исключение при неудачном исходе преобразования

Public static bool

Предпринимает попытку преобразовать числовое зна

TryParse(string

s,

чение, заданное в виде символьной строки s, в двоич

NumberStyles styles,

ное значение с использованием информации о стилях,

IformatProvider

обозначаемых параметром styles , а также форматов

provider , out int

данных, характерных для конкретной культурной среды

result)

и определяемых параметром provider. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse () , который генерирует исключение при неудачном исходе преобразования

Структуры типов данных с плавающей точкой

Типам данных с плавающей точкой соответствуют только две структуры: Double и Single. Структура Single представляет тип float. Ее методы перечислены в табл. 21.3, а поля — в табл. 21.4. Структура Double представляет тип double.

Ее методы перечислены в табл. 21.5, а поля — в табл. 21.6. Как и в структурах целочисленных типов данных, при вызове метода Parse () или ToStringO из структур типов данных с плавающей точкой можно указывать информацию, характерную для конкретной культурной среды, а также данные форматирования.

Таблица 21.3. Методы, поддерживаемые структурой Single

Метод

Назначение

Public int

Сравнивает числовое значение вызывающего объекта

CompareTo(object value)

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

Public int

Сравнивает числовое значение вызывающего объекта

CompareTo(float value)

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

Public override bool

Возвращает логическое значение true, если значение

Equals(object obj)

вызывающего объекта равно значению obj

Public bool Equals(float

Возвращает логическое значение true, если значение

obj)

вызывающего объекта равно значению obj

Public override int

Возвращает хеш-код для вызывающего объекта

GetHashCode()

Public TypeCode

Возвращает значение из перечисления TypeCode для

GetTypeCode()

структуры Single, т.е. TypeCode . Single

Public static bool

Возвращает логическое значение true, если значение

Islnfinity(float f)

f представляет плюс или минус бесконечность. В противном случае возвращает логическое значение false

Public static bool

Возвращает логическое значение true, если значение f

IsNaN(float f)

не является числовым. В противном случае возвращает логическое значение false

Public static bool

Возвращает логическое значение true, если значение

IsPositivelnfinity(float

f представляет плюс бесконечность. В противном случае

f)

возвращает логическое значение false

Public static bool

Возвращает логическое значение true, если значение f

IsNegativelnfinity(float

представляет минус бесконечность. В противном случае

f)

возвращает логическое значение false

Public static float

Возвращает двоичный эквивалент числа, заданного в виде

Parse(string s)

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

Public static float

Возвращает двоичный эквивалент числа, заданного

Parse(string s,

в виде символьной строки s, с использованием фор

IformatProvider

матов данных, характерных для конкретной культурной

provider)

среды и определяемых параметром provider. Если в строке не представлено числовое значение типа float, то генерируется исключение

Метод

Назначение

Public static float

Возвращает двоичный эквивалент числа, заданного в

Parse(string s,

виде символьной строки s, с использованием данных о

NumberStyles styles)

стилях, определяемых параметром styles. Если в строке не представлено числовое значение типа float, то генерируется исключение

Public static float

Возвращает двоичный эквивалент числа, заданного в

Parse(string s,

виде символьной строки s, с использованием форматов

NumberStyles styles,

данных, характерных для конкретной культурной среды

IformatProvider

и определяемых параметром provider , а также сведе

provi der)

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

Public override string

Возвращает строковое представление значения вызы

ToString ()

вающего объекта

Public string

Возвращает строковое представление значения вызы

ToString(string format)

вающего объекта, как указано в форматирующей строке, 'определяемой параметром format

Public string

Возвращает строковое представление значения вызы

ToString(IformatProvider

вающего объекта с использованием форматов данных,

provi der)

характерных для конкретной культурной среды и определяемых параметром provider

Public string

Возвращает строковое представление значения вызы

ToString(string format,

вающего объекта, как указано в форматирующей строке,

IformatProvider

определяемой параметром format, но с использовани

provider)

ем форматов данных, характерных для конкретной культурной среды и определяемых параметром provider

Public static bool

Предпринимает попытку преобразовать число, заданное

TryParse(string s, out

в виде символьной строки s, в значение типа float.

float result)

При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse () , который генерирует исключение при неудачном исходе преобразования

Public static bool

Предпринимает попытку преобразовать числовое зна

TryParse(string s,

чение, заданное в виде символьной строки s, в значе

NumberStyles styles,

ние типа float, как указано в форматирующей строке,

IformatProvider

определяемой параметром format, но с использовани

provider, out float

ем форматов данных, характерных для конкретной куль

result)

турной среды и определяемых параметром provider, a, также сведений о стилях, обозначаемых параметром styles. При успешной попытке это значение сохраняет

ся в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse ( ), который генерирует исключение при неудачном исходе преобразования

Поле

Назначение

Наши рекомендации