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

ПРИМЕЧАНИЕ

Некоторые методы, определенные в структурах, соответствующих встроенным в 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 ( ), который генерирует исключение при неудачном исходе преобразования

 

Поле

 

Назначение