Таблица
12.1.
Свойства класса Array
Свойство |
Родитель |
Описание |
IsFixedSize |
Интерфейс IList
|
True, если массив статический |
IsReadOnly |
Интерфейс IList
|
Для всех массивов имеет значение false
|
IsSynchronized |
Интерфейс ICollection
|
True или False, в зависимости от того, установлена ли синхронизация доступа для массива |
SyncRoot |
Интерфейс ICollection
|
Собственный метод синхронизации доступа к массиву. При работе с массивом его можно закрыть на время обработки, что запрещает его модификацию каким-либо потоком:Array myCol = new int[2];
lock( myCol.SyncRoot ) {
foreach ( Object item in myCol )
{
// безопасная обработка массива }
|
Length |
|
Число элементов массива |
Rank |
|
Размерность массива |
Таблица
12.2.
Статические методы класса Array
Метод |
Описание |
BinarySearch
|
Двоичный поиск. Описание и примеры даны в тексте |
Clear |
Выполняет начальную инициализацию элементов. В зависимости от типа элементов устанавливает значение 0 для арифметического типа, false - для логического типа, Null для ссылок, "" - для строк. |
Copy
|
Копирование части или всего массива в другой массив. Описание и примеры даны в тексте |
CreateInstance |
Класс Array, в отличие от многих классов, может создавать свои экземпляры не только с помощью конструктора new, но и при вызове метода CreateInstance:Array my2Dar = Array.CreateInstance(typeof(double), 2,2)
|
IndexOf
|
Индекс первого вхождения образца в массив. Описание и примеры даны в тексте |
LastIndexOf
|
Индекс последнего вхождения образца в массив. Описание и примеры даны в тексте |
Reverse
|
Обращение одномерного массива. Описание и примеры даны в тексте |
Sort
|
Сортировка массива. Описание и примеры даны в тексте |
Сводка свойств и методов класса Array
Многие возможности, которыми можно пользоваться при работе с массивами, уже обсуждены. В завершение этой темы в таблицах 12.1-12.3 приведем сводку всех свойств и методов класса Array.
Таблица
12.3.
Динамические методы класса Array
Метод |
Родитель |
Описание |
Equals |
Класс Object
|
Описание и примеры даны в предыдущих главах. |
GetHashCode |
Класс Object
|
Описание и примеры даны в предыдущих главах. |
GetType |
Класс Object
|
Описание и примеры даны в предыдущих главах. |
ToString |
Класс Object
|
Описание и примеры даны в предыдущих главах. |
Clone |
Интерфейс ICloneable
|
Позволяет создать плоскую или глубокую копию массива. В первом случае создаются только элементы первого уровня, а ссылки указывают на те же самые объекты. Во втором случае копируются объекты на всех уровнях. Для массивов создается только плоская копия. |
CopyTo |
Интерфейс ICollection
|
Копируются все элементы одномерного массива в другой одномерный массив, начиная с заданного индекса:
|
GetEnumerator |
Интерфейс IEnumerable
|
Стоит за спиной цикла foreach
|
GetLength |
|
Возвращает число элементов массива по указанному измерению. Описание и примеры даны в тексте главы. |
GetLowerBound, GetUpperBound |
|
Возвращает нижнюю и верхнюю границу по указанному измерению. Для массивов нижняя граница всегда равна нулю. |
GetValue, SetValue |
|
Возвращает или устанавливает значение элемента массива с указанными индексами. |
Initialize |
|
Может быть применен только к массивам значимого типа. Инициализирует элементы, вызывая соответствующий конструктор. Как правило, не используется в обычных программах. |