Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР4 (Массивы как коллекции).doc
Скачиваний:
6
Добавлен:
16.08.2019
Размер:
111.62 Кб
Скачать

Задание 3. Класс Object и массивы

Подведем некоторые итоги:

Свойства класса Array

Свойство

Родитель

Описание

IsFixedSize

Интерфейс IList

True, если массив статический

IsReadOnly

Интерфейс IList

Для всех массивов имеет значение false

IsSynchronized

Интерфейс ICollection

True или False, в зависимости от того, установлена ли синхронизация доступа для массива

SyncRoot

Интерфейс ICollection

Собственный метод синхронизации доступа к массиву. При работе с массивом его можно закрыть на время обработки, что запрещает его модификацию каким-либо потоком:

Array myCol = new int[];

lock( myCol.SyncRoot ) {

foreach ( Object item in myCol )

{

// безопасная обработка массива }

Length

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

Rank

Размерность массива

Статические методы класса Array

Метод

Описание

BinarySearch

Двоичный поиск. Описание и примеры даны в тексте

Clear

Выполняет начальную инициализацию элементов. В зависимости от типа элементов устанавливает значение 0 для арифметического типа, false - для логического типа, Null для ссылок, "" - для строк.

Copy

Копирование части или всего массива в другой массив. Описание и примеры даны в тексте

CreateInstance

Класс Array, в отличие от многих классов, может создавать свои экземпляры не только с помощью конструктора new, но и при вызове метода CreateInstance:

Array my2Dar = Array.CreateInstance(typeof(double), 2,2)

IndexOf

Индекс первого вхождения образца в массив.

LastIndexOf

Индекс последнего вхождения образца в массив.

Reverse

Обращение одномерного массива.

Sort

Сортировка массива.

Динамические методы класса Array

Метод

Родитель

Описание

Equals

Класс Object

Описание и примеры даны в предыдущих главах.

GetHashCode

Класс Object

Описание и примеры даны в предыдущих главах.

GetType

Класс Object

Описание и примеры даны в предыдущих главах.

ToString

Класс Object

Описание и примеры даны в предыдущих главах.

Clone

Интерфейс ICloneable

Позволяет создать плоскую или глубокую копию массива. В первом случае создаются только элементы первого уровня, а ссылки указывают на те же самые объекты. Во втором случае копируются объекты на всех уровнях. Для массивов создается только плоская копия.

CopyTo

Интерфейс ICollection

Копируются все элементы одномерного массива в другой одномерный массив, начиная с заданного индекса:

col1.CopyTo(col2,0);

GetEnumerator

Интерфейс IEnumerable

Стоит за спиной цикла foreach

GetLength

Возвращает число элементов массива по указанному измерению. Описание и примеры даны в тексте главы.

GetLowerBound, GetUpperBound

Возвращает нижнюю и верхнюю границу по указанному измерению. Для массивов нижняя граница всегда равна нулю.

GetValue, SetValue

Возвращает или устанавливает значение элемента массива с указанными индексами.

Initialize

Может быть применен только к массивам значимого типа. Инициализирует элементы, вызывая соответствующий конструктор. Как правило, не используется в обычных программах.

  1. Приведите пример показывающий отличие между возвращаемым значением метода GetLength и свойством Length.

  2. Напишите функцию печати массива, принимающую в качестве параметра объект типа Object.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]