Главная страница
Навигация по странице:

  • Метод

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

  • Поле

  • Справочник по C# Герберт Шилдт ббк 32. 973. 26018 75 Ш57 удк 681 07 Издательский дом "Вильямс" Зав редакцией


    Скачать 5.05 Mb.
    НазваниеСправочник по C# Герберт Шилдт ббк 32. 973. 26018 75 Ш57 удк 681 07 Издательский дом "Вильямс" Зав редакцией
    АнкорC #.pdf
    Дата08.12.2017
    Размер5.05 Mb.
    Формат файлаpdf
    Имя файлаC #.pdf
    ТипСправочник
    #10795
    страница32 из 52
    1   ...   28   29   30   31   32   33   34   35   ...   52
    Структуры целочисленных типов
    К структурам целочисленных типов относятся следующие:
    Byte SByte
    Int16
    UInt16
    Int32 UInt32
    Int64 UInt64
    Все эти структуры содержат одни и те же методы (см. табл. 19.2), которые отличаются лишь типом значения, возвращаемого методом
    Parse()
    . Метод
    Parse()
    возвращает значение типа, представленного соответствующей структурой. Например, для структуры
    Int32
    метод
    Parse()
    возвращает значение типа int
    , а для структуры
    UInt16
    — значение типа ushort
    . (Использование метода
    Parse()
    продемонстрировано в главе
    14.)
    Кроме методов, перечисленных в табл. 19.2, структуры целочисленных типов также определяют следующие const
    -поля:
    MaxValue
    MinValue
    В каждой структуре эти поля содержат наибольшее и наименьшее значения, которые можно хранить с помощью типа, представленного конкретной структурой.
    Все структуры целочисленных типов реализуют следующие интерфейсы:
    IComparable
    ,
    IConvertible и
    IFormattable
    Таблица 19.2. Методы, поддерживаемые структурами целочисленных типов
    Метод
    Описание
    public int CompareTo( object
    v
    )
    Сравнивает числовое значение вызывающего объекта со значением параметра
    v
    . Возвращает нуль, если сравниваемые значения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и — положительное, если вызывающий объект имеет большее значение public override bool Equals( object
    v
    )
    Возвращает значение ИСТИНА, если значение вызывающего объекта равно значению параметра
    v
    public override int
    GetHashCode()
    Возвращает хеш-код для вызывающего объекта public TypeCode
    GetTypeCode()
    Возвращает значение перечисления
    TypeCode для эквивалентного типа. Например, для структуры
    Int32 возвращает значение
    TypeCode.Int32
    public static тип_возврата
    Parse( string
    str
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    . Если содержимое строки не представляет числовое значение в соответствии с определением типа структуры, генерируется исключение public static тип_возврата
    Parse( string
    str
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    . Если содержимое строки не представляет числовое значение в соответствии с определением типа структуры, генерируется исключение

    Глава 19. Пространство имен System
    511
    Окончание табл. 19.2
    Метод
    Описание
    public static тип_возврата
    Parse( string
    str
    ,
    NumberStyles
    styles
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    , с использованием информации стилевого характера, заданной в параметре
    styles
    . Если содержимое строки не представляет числовое значение в соответствии с определением типа структуры, генерируется исключение public static тип_возврата
    Parse( string
    str
    ,
    NumberStyles
    styles
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    , с использованием информации стилевого характера, заданной в параметре
    styles
    , a также форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    . Если содержимое строки не представляет числовое значение в соответствии с определением типа структуры, генерируется исключение public override string
    ToString()
    Возвращает строковое представление значения вызывающего объекта public string
    ToString( string
    format
    )
    Возвращает строковое представление значения вызывающего объекта в соответствии с требованиями форматирующей строки, переданной в параметре
    format
    public string
    ToString(
    IFormatProvider
    fmtpvdr
    )
    Возвращает строковое представление значения вызывающего объекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    public string
    ToString( string
    format
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает строковое представление значения вызывающего объекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    , а также форматирующей строки, переданной в параметре
    format
    Структуры типов данных с плавающей точкой
    Определены только две структуры типов данных с плавающей точкой:
    Double и
    Single
    . Структура
    Single представляет тип float
    . Ее методы перечислены в табл. 19.3, а поля — в табл. 19.4. Структура
    Double представляет тип double
    . Ее методы перечислены в табл. 19.5, а поля — в табл. 19.6. Подобно структурам целочисленного типа, в вызовах методов
    Parse()
    или
    ToString()
    можно задавать форматы данных
    (присущие конкретному естественному языку, диалекту или территориальному образованию), а также форматирующую строку.
    Структуры типов данных с плавающей точкой реализуют следующие интерфейсы:
    IComparable
    ,
    IConvertible и
    IFormattable
    Таблица 19.3. Методы, поддерживаемые структурой single
    Метод
    Описание
    public int
    CompareTo(object
    v
    )
    Сравнивает числовое значение вызывающего объекта со значением параметра
    v
    . Возвращает нуль, если сравниваемые значения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и — положительное, если вызывающий объект имеет большее значение public override bool
    Equals(object
    v
    )
    Возвращает значение ИСТИНА, если значение вызывающего объекта равно значению параметра
    v

    512
    Часть II. Библиотека C#
    Окончание табл. 19.3
    Метод
    Описание
    public override int
    GetHashCode()
    Возвращает хеш-код для вызывающего объекта public TypeCode
    GetTypeCode()
    Возвращает значение перечисления
    TypeCode для структуры single
    , т.е.
    TypeCode.Single public static bool
    IsInfinity( float
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    представляет бесконечность (со знаком "плюс" либо со знаком "минус"). В противном случае возвращает значение ЛОЖЬ public static bool
    IsNaN(float
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    —не число. В противном случае возвращает значение ЛОЖЬ public static bool
    IsPositiveInfinity( float
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    представляет бесконечность со знаком "плюс". В противном случае возвращает значение ЛОЖЬ public static bool
    IsNegativeInfinity( float
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    представляет бесконечность со знаком "минус". В противном случае возвращает значение ЛОЖЬ public static float
    Parse( string
    str
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    . Если содержимое строки не представляет значение типа float
    , генерируется исключение public static float
    Parse( string
    str
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    . Если содержимое строки не представляет значение типа float
    , генерируется исключение public static float
    Parse( string
    str
    ,
    NumberStyles
    styles
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    , с использованием информации стилевого характера, заданной в параметре
    styles
    . Если содержимое строки не представляет значение типа float
    , генерируется исключение public static float
    Parse( string
    str
    ,
    NumberStyles
    styles
    ,
    IFormatProvider
    Fmtpvdr
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    , с использованием информации стилевого характера, заданной в параметре
    styles
    , a также форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    . Если содержимое строки не представляет значение типа float
    , генерируется исключение public override string
    ToString()
    Возвращает строковое представление значения вызывающего объекта public string
    ToString( string
    format
    )
    Возвращает строковое представление значения вызывающего объекта в соответствии с требованиями форматирующей строки, переданной в параметре
    format
    public string
    ToString(
    IFormatProvider
    fmtpvdr
    )
    Возвращает строковое представление значения вызывающего объекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    public string
    ToString( string
    format
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает строковое представление значения вызывающего объекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    , а также форматирующей строки, переданной в параметре
    format

    Глава 19. Пространство имен System
    513
    Таблица 19.4. Поля, поддерживаемые структурой Single
    Поле
    Описание
    public const float Epsilon
    Наименьшее ненулевое положительное значение public const float MaxValue
    Наибольшее значение, которое можно хранить с помощью типа float public const float MinValue
    Наименьшее значение, которое можно хранить с помощью типа float public const float NaN
    Значение, которое не является числом public const float NegativeInfinity
    Значение, представляющее минус бесконечность public const float PositiveInfinity
    Значение, представляющее плюс бесконечность
    Таблица 19.5. Методы, поддерживаемые структурой Double
    Метод
    Описание
    public int CompareTo( object
    v
    )
    Сравнивает числовое значение вызывающего объекта со значением параметра
    v
    . Возвращает нуль, если сравниваемые значения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и — положительное, если вызывающий объект имеет большее значение public override bool Equals( object
    v
    )
    Возвращает значение ИСТИНА, если значение вызывающего объекта равно значению параметра
    v
    public override int
    GetHashCode()
    Возвращает хеш-код для вызывающего объекта public TypeCode
    GetTypeCode()
    Возвращает значение перечисления
    TypeCode для структуры
    Double
    , т.е.,
    TypeCode.Double public static bool
    IsInfinity( double
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    представляет бесконечность (со знаком "плюс" либо со знаком "минус"). В противном случае возвращает значение
    ЛОЖЬ public static bool
    IsNaN(double
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    — не число.
    В противном случае возвращает значение ЛОЖЬ public static bool
    IsPositiveInfinity( double
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    представляет бесконечность со знаком "плюс". В противном случае возвращает значение ЛОЖЬ public static bool
    IsHegativeInfinity( double
    v
    )
    Возвращает значение ИСТИНА, если значение
    v
    представляет бесконечность со знаком "минус". В противном случае возвращает значение ЛОЖЬ public static double
    Parse(string
    str
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    . Если содержимое строки не представляет значение типа double
    , генерируется исключение public static double
    Parse( string
    str
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    Если содержимое строки не представляет значение типа double, генерируется исключение public static double Parse(
    string
    str
    ,
    NumberStyles
    styles
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    , с использованием информации стилевого характера, заданной в параметре
    styles
    . Если содержимое строки не представляет значение типа double
    , генерируется исключение

    514
    Часть II. Библиотека C#
    Окончание табл. 19.5
    Метод
    Описание
    public static double
    Parse(string
    str
    ,
    NumberStyles
    styles
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает двоичный эквивалент строкового представления числа, заданного в параметре
    str
    , с использованием информации стилевого характера, заданной в параметре
    styles
    , а также форматов данных
    (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    . Если содержимое строки не представляет значение типа double
    , генерируется исключение public override string
    ToString()
    Возвращает строковое представление значения вызывающего объекта public string
    ToString( string
    format
    )
    Возвращает строковое представление значения вызывающего объекта в соответствии с требованиями форматирующей строки, переданной в параметре
    format
    public string
    ToString(
    IFormatProvider
    fmtpvdr
    )
    Возвращает строковое представление значения вызывающего объекта с использованием форматов данных
    (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    public string
    ToString( string
    format
    ,
    IFormatProvider
    fmtpvdr
    )
    Возвращает строковое представление значения вызывающего объекта с использованием форматов данных
    (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметра
    fmtpvdr
    , а также форматирующей строки, переданной в параметре
    format
    Таблица 19.6. Поля, поддерживаемые структурой Double
    Поле
    Описание
    public const double Epsilon
    Наименьшее ненулевое положительное значение public const double MaxValue
    Наибольшее значение, которое можно хранить с помощью типа double public const double MinValue
    Наименьшее значение, которое можно хранить с помощью типа double public const double NaN
    Значение, которое не является числом public const double NegativeInfinity
    Значение, представляющее минус бесконечность public const double PositiveInfinity
    Значение, представляющее плюс бесконечность
    Структура Decimal
    Структура
    Decimal несколько сложнее, чем описанные выше. Она содержит множество конструкторов, полей, методов и операторов, которые способствуют совместному использованию типа decimal и других числовых C#-типов. Например, ряд методов обеспечивает преобразование значений типа decimal в значения других числовых типов.
    В структуре
    Decimal определено восемь открытых конструкторов. Наиболее часто используются следующие шесть: public Decimal(int
    v
    ) public Decimal(uint
    v
    ) public Decimal(long
    v
    )

    Глава 19. Пространство имен System
    515 public Decimal(ulong
    v
    ) public Decimal(float
    v
    ) public Decimal(double
    v
    )
    Каждый из перечисленных конструкторов создает
    Decimal
    -объект на основе заданного значения.
    Decimal
    -объект также можно создать, указав его составляющие при вызове следующего конструктора: public Decimal(int
    low
    , int
    middle
    , int
    high
    , bool
    signFlag
    , byte
    scaleFactor
    )
    Значение типа decimal состоит из трех частей. Первая представляет собой 96- разрядное целое число, вторая — флаг знака и третья — коэффициент масштабирования.
    96-разрядное целое число передается в 32-разрядные участки памяти с помощью параметров
    low
    ,
    middle
    и
    high
    . Знак передается через параметр
    signFlag
    , который устанавливается равным значению false для положительного числа и значению true
    — для отрицательного. Коэффициент масштабирования передается посредством параметра
    scaleFactor
    , который должен иметь значение в диапазоне от 0 до 28. Этот коэффициент задает степень числа
    10
    (т.е.
    10
    scaleFactor
    ), на которую делится число для получения его дробной части.
    Вместо того чтобы передавать каждый компонент в отдельности, можно задать составные части
    Decimal
    -объекта в массиве целых чисел. В этом случае используйте следующий конструктор: public Decimal(int[]
    parts
    )
    Первые три int
    -значения в параметре
    parts
    содержат 96-разрядное целое число.
    31-й разряд элемента parts[3]
    содержит флаг числа (нуль — для положительного и 1 — для отрицательного), а в разрядах 16-23 хранится масштабный коэффициент.
    В структуре
    Decimal реализованы следующие интерфейсы:
    IComparable
    ,
    IConvertible и
    IFormattable
    Рассмотрим пример создания значения типа decimal
    “вручную”.
    // Создание decimal-значения "вручную". using System; class CreateDec { public static void Main() { decimal d = new decimal(1234 5, 0, 0, false, 2);
    Console.WriteLine(d);
    }
    }
    Результат выполнения этой программы таков:
    123.45
    В этом примере значение 96-разрядного целого числа равно
    12345
    , Это число — положительное и имеет два десятичных разряда.
    Методы, определенные в структуре
    Decimal
    , приведены в табл. 19.7, а поля — в табл. 19.8. В структуре
    Decimal также определено множество операторов и преобразований, позволяющих совместно использовать decimal
    -значения в выражениях с другими числовыми типами. Правила использования значений типа decimal в выражениях и инструкциях присваивания описаны в главе 3.

    1   ...   28   29   30   31   32   33   34   35   ...   52


    написать администратору сайта