Выбрать главу

int Compare(Т х, Т у)

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

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

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

Свойство

Назначение

public bool IsFixedSize { get; }

public bool IsReadOnly { get; }

public bool

IsSynchronized { get; }

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

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

Свойство

Назначение '

public int Length {

Доступно только для чтения. Имеет тип int и содержит ко

get; }

личество элементов в массиве

public long LongLength

Доступно только для чтения. Имеет тип long и содержит

{ get; }

количество элементов в массиве

public int Rank { get; }

Доступно только для чтения. Содержит размерность массива

public object SyncRoot

Доступно только для чтения. Содержит объект, предназна

{ get; }

ченный для синхронизации доступа к массиву

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

Метод

Назначение

public static

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

ReadOnlyCollection<T>

цию, которая включает в себя массив, определяе

AsReadOnly<T>(Т[] array)

мый параметром array

public static int

Осуществляет поиск значения value в массиве

BinarySearch(Array

array,

array. Возвращает индекс первого вхождения

object value)

искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным

public static int

Осуществляет поиск значения value в массиве

BinarySearch<T>(T[]

array,

array. Возвращает индекс первого вхождения

T value)

искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным

public static int

Осуществляет поиск значения value в масси

BinarySearch(Array

array,

ве, определяемом параметром array, исполь

object value, IComparer

зуя способ сравнения, задаваемый параметром

comparer)

comparer. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным

public static int

Осуществляет поиск значения value в массиве

BinarySearch<T> (T [ ]

array,

array, используя способ сравнения, задаваемый

T value, IComparer<T>

параметром comparer. Возвращает индекс перво

comparer)

го вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным

public static int

Осуществляет поиск значения value в части мас

BinarySearch(Array