Чтение онлайн

ЖАНРЫ

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

public bool Equals(bool obj)

Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj

public override bool

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

Equals(object obj)

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

public override int

Возвращает

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

GetHashCode

public TypeCode

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

GetTypeCode

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

public static bool

Возвращает эквивалент типа bool символьной стро

Parse(string s)

ки s. Если строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то генерируется исключение FormatException, независимо оттого, какими буквами набрано содержимое строки: прописными или строчными

public override string

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

ToString

вающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseString

public string

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

ToString(IFormatProvider

вающего объекта, которое должно быть либо значением

provider)

поля TrueString, либо значением поля FalseString. При этом параметр provider игнорируется

public static bool

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

TryParse(string s, out

ки s в его эквивалентное значение типа bool. При

bool result)

успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то возвращается логическое значение false,

независимо от того, какими буквами набрано содержимое строки: прописными или строчными, в отличие от метода Parse , который генеоиоует исключение в аналогичной ситуации

Класс Array

Класс Array относится к числу наиболее часто используемых в пространстве имен System. Он является базовым классом для всех массивов в С#. Следовательно, его методы можно применять к массивам любого встроенного в C# типа или же к массивам определяемого пользователем типа. Свойства, определенные в классе Array, перечислены в табл. 21.11, а методы — в табл. 21.12.

В классе Array реализуются следующие интерфейсы: ICloneable, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable, а такжеIList. Все интерфейсы, кроме ICloneable, определены в пространстве имен System. Collections, подробнее рассматриваемом в главе 25.

В ряде методов данного класса используется параметр типа I Comparer или IComparer<T>. Интерфейс IComparer находится в пространстве имен System. Collections. В нем определяется метод Compare для сравнения значений двух объектов, как показано ниже.

int Compare(object х, object у)

Этот метод возвращает значение больше нуля, если х больше у; значение меньше нуля, если х меньше у; и, наконец, нулевое значение, если оба значения равны.

Интерфейс IComparer<T> находится в пространстве имен System. Collections . Generic. В нем определяется метод Compare , общая форма которого приведена ниже.

int Compare(Т х, Т у)

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

В последующих разделах демонстрируется ряд наиболее распространенных операций с массивами.

Таблица 21.11. Свойства, определенные в классе Array

Свойство

Назначение

public bool IsFixedSize { get; }

public bool IsReadOnly { get; }

public bool

IsSynchronized { get; }

Доступно только для чтения. Принимает логическое значение true, если массив имеет фиксированный размер, и логическое значение false, если массив может изменять его динамически

Поделиться с друзьями: