Используя члены, определенные в этих структурах, можно выполнять операции над значениями простых типов данных. Все перечисленные выше структуры рассматриваются далее по порядку.
ПРИМЕЧАНИЕ
Некоторые методы, определенные в структурах, соответствующих встроенным в 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 ( ), который генерирует исключение при неудачном исходе преобразования
Поле
Назначение