Г. Шилдт - Полный справочник по C# (1160789), страница 94
Текст из файла (страница 94)
Здесь же они рассматриваются более подробно.Структуры типов значений лежат в основе С#-типов значений. Используя члены,определенные этими структурами, можно выполнять операции, разрешенные для определенных типов значений. Ниже показаны .NET-имена структур и их эквивалентыв виде ключевых слов С#:.NET-ИМЯ структурыСЯ-имя.NET-имя структурыС#-имяBooleanboolCharcharDecimaldecimalDoubledoubleSinglefloatIntl6shortInt32liltInt64longUIntl6ushortUInt32uintUInt64ulongBytebyteSBytesbyteВсе эти структуры рассматриваются в следующих разделах.Глава 19. Пространство имен System509На заметкуНекоторые методы, определенные в структурах типов значений, принимаюпараметры типа iFormatProvider или Number Styles.
Тип iFormatProviderкратко описан ниже в этой главе. Тип Numberstyles представляет собой перечисление, принадлежащее пространству имен System.Globalization.Тема форматирования раскрыта в главе 20.Структуры целочисленных типовК структурам целочисленных типов относятся следующие:ByteSByteIntl6UIntl6Int32UInt32Int64UInt64Все эти структуры содержат одни и те же методы (см. табл.
19.2), которые отличаются лишь типом значения, возвращаемого методом Parse ( ) . Метод Parse () возвращает значение типа, представленного соответствующей структурой. Например, дляструктуры I n t 3 2 метод Parse () возвращает значение типа i n t , а для структурыU l n t l 6 — значение типа u s h o r t . (Использование метода Parse О продемонстрировано в главе 14.)Кроме методов, перечисленных в табл. 19.2, структуры целочисленных типов такжеопределяют следующие const-поля:MaxValueMinValueВ каждой структуре эти поля содержат наибольшее и наименьшее значения, которые можно хранить с помощью типа, представленного конкретной структурой.Все структуры целочисленных типов реализуют следующие интерфейсы:IComparable, IConvertible и IFormattable.Таблица 19.2. Методы, поддерживаемые структурами целочисленных типовМетодОписаниеpublic int CompareTo(object v)Сравнивает числовое значение вызывающего объекта со значением параметра v.
Возвращает нуль, если сравниваемыезначения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и — положительное, если вызывающий объект имеет большее значениеpublic override bool Equals(Возвращает значение ИСТИНА, если значение вызывающегообъекта равно значению параметра vobject v)public override int GetHashCode()Возвращает хеш-код для вызывающего объектаpublic TypeCode GetTypeCode()Возвращает значение перечисления TypeCode для эквивалентного типа. Например, для структуры i n t 3 2 возвращаетЗначение TypeCode . Int32public static тип_возвратаParse(string str)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре str. Если содержимое строкине представляет числовое значение в соответствии с определением типа структуры, генерируется исключениеpublic static тип_возвратаParse(string str,IFormatProvider fmtpvdr)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра fmtpvdr.
Если содержимое строки непредставляет числовое значение в соответствии с определением типа структуры, генерируется исключение510Часть II. Библиотека С#Окончание табл. 19.2МетодОписаниеpublic static тип_возвратаParse(string str,NumberStyles styles)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r , с использованием информации стилевого характера, заданной в параметреstyles.Если содержимое строки не представляет числовоезначение в соответствии с определением типа структуры, генерируется исключениеpublic static тип_возвратаParse(string str,NumberStyles styles,IFormatProvider fmtpvdr)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r , с использованием информации стилевого характера, заданной в параметре styles, aтакже форматов данных (присущих конкретному естественномуязыку, диалекту или территориальному образованию), заданныхпосредством параметра fmtpvdr.
Если содержимое строки непредставляет числовое значение в соответствии с определением типа структуры, генерируется исключениеpublic override string ToStringOВозвращает строковое представление значения вызывающегообъектаpublic string ToString(string format)Возвращает строковое представление значения вызывающегообъекта в соответствии с требованиями форматирующейстроки, переданной в параметре forma tpublic string ToString(IFormatProvider fmtpvdr)Возвращает строковое представление значения вызывающегообъекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальномуобразованию), заданных посредством параметраfmtpvdrpublic string ToString(string format,IFormatProvider fmtpvdr)Возвращает строковое представление значения вызывающегообъекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра fmtpvdr, а такжеформатирующей строки, переданной в параметре forma tСтруктуры типов данных с плавающей точкойОпределены только две структуры типов данных с плавающей точкой: Double иSingle.
Структура Single представляет тип f l o a t . Ее методы перечислены втабл. 19.3, а поля — в табл. 19.4. Структура Double представляет тип double. Ее методы перечислены в табл. 19.5, а поля — в табл. 19.6. Подобно структурам целочисленного типа, в вызовах методов Parse () или ToStringO можно задавать форматыданных (присущие конкретному естественному языку, диалекту или территориальному образованию), а также форматирующую строку.Структуры типов данных с плавающей точкой реализуют следующие интерфейсы:IComparable, I C o n v e r t i b l e и I F o r m a t t a b l e .Таблица 19.3. Методы, поддерживаемые структурой s i n g l eМетодОписаниеpublic int CompareTo(object v)Сравнивает числовое значение вызывающего объекта со значением параметра v. Возвращает нуль, если сравниваемыезначения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и — положительное, если вызывающий объект имеет большее значениеpublic override bool Equals(object v)Возвращает значение ИСТИНА, если значение вызывающегообъекта равно значению параметра vГлава 19.
Пространство имен System511Окончание табл. 19.3МетодОписаниеpublic override int GetHashCode()Возвращает хеш-код для вызывающего объектаpublic TypeCode GetTypeCode()Возвращает значение перечисления т у р е с ode для структуры S i n g l e , Т.е. TypeCode . S i n g l epublic static bool Islnfinity(float v)Возвращает значение ИСТИНА, если значение v представляетбесконечность (со знаком "плюс" либо со знаком "минус").
Впротивном случае возвращает значение ЛОЖЬpublic static bool IsNaN(float v)Возвращает значение ИСТИНА, если значение v — не число.В противном случае возвращает значение ЛОЖЬpublic static boolIsPositivelnfinity(float v)Возвращает значение ИСТИНА, если значение v представляетбесконечность со знаком "плюс". В противном случае возвращает значение ЛОЖЬpublic static boolIsNegativelnfinity(float v)Возвращает значение ИСТИНА, если значение v представляетбесконечность со знаком "минус". В противном случае возвращает значение ЛОЖЬpublic static float Parse (string str)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r . Если содержимое строки непредставляет значение типа f l o a t , генерируется исключениеpublic static float Parse(string str,IFormatProvider fmtpvdr)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r с использованием форматовданных (присущих конкретному естественному языку, диалектуили территориальному образованию), заданных посредствомпараметра fmtpvdr.
Если содержимое строки не представляет значение типа f l o a t , генерируется исключениеpublic static float Parse(string str,NumberStyles styles)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r , с использованием информации стилевого характера, заданной в параметреstyles.Если содержимое строки не представляет значениетипа f l o a t , генерируется исключениеpublic static float Parse(string str,NumberStyles styles,IFormatProvider fmtpvdr)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r , с использованием информации стилевого характера, заданной в параметреstyles,а также форматов данных (присущих конкретномуестественному языку, диалекту или территориальному образованию), заданных посредством параметра fmtpvdr.Еслисодержимое строки не представляет значение типа f l o a t ,генерируется исключениеpublic override string ToStringOВозвращает строковое представление значения вызывающегообъектаpublic string ToString(string format)Возвращает строковое представление значения вызывающегообъекта в соответствии с требованиями форматирующейстроки, переданной в параметре forma tpublic string ToString(IFormatProvider fmtpvdr)Возвращает строковое представление значения вызывающегообъекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальномуобразованию), заданных посредством параметра fmtpvdrpublic string ToString(string format,IFormatProvider fmtpvdr)Возвращает строковое представление значения вызывающегообъекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра fmtpvdr, а такжеформатирующей строки, переданной в параметре format512Часть II.
Библиотека С#Таблица 19.4. Поля, поддерживаемые структурой singleПолеОписаниеpublic const float EpsilonНаименьшее ненулевое положительное значениеpublic const float MaxValueНаибольшее значение, которое можно хранить с помощьютипа f l o a tpublic const float MinValueНаименьшее значение, которое можно хранить с помощьютипа f l o a tpublic const float NaNЗначение, которое не является числомpublic const floatNegativelnfinityЗначение, представляющее минус бесконечностьpublic const floatPositivelnfinityЗначение, представляющее плюс бесконечностьТаблица 19.5. Методы, поддерживаемые структурой DoubleМетодОписаниеpublic i n t CompareTo(object v)Сравнивает числовое значение вызывающего объекта со значением параметра v. Возвращает нуль, если сравниваемыезначения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и — положительное, если вызывающий объект имеет большее значениеpublic override bool Equals(object v)Возвращает значение ИСТИНА, если значение вызывающегообъекта равно значению параметра vpublic override int GetHashCode()Возвращает хеш-код для вызывающего объектаpublic TypeCode GetTypeCode()Возвращает значение перечисления TypeCode для структуры D o u b l e , Т.е., TypeCode .