Таблица
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 |
|
Может быть применен только к массивам значимого типа. Инициализирует элементы, вызывая соответствующий конструктор. Как правило, не используется в обычных программах. |