Клас array (system)

Вихідний код .NET Framework для цього типу см. В розділі Reference Source. Виконувати пошук вихідного коду в Інтернеті, довідник для автономної роботи і покроково джерела (включаючи виправлення та оновлення) під час налагодження; see instructions.

Array Клас не є частиною System.Collections простору імен. Тим не менш, він як і раніше вважається колекцією, оскільки заснований на інтерфейсі IList.

Array Клас є базовим класом для реалізації мови, які підтримують масиви. Однак тільки система і компілятори можуть явно успадковувати Array класу. Користувачі повинні застосовувати конструкції масивів, що надаються мовою.

Елемент являє собою значення в масиві. Довжина масиву - це загальна кількість елементів в ньому. Нижня межа масиву - це індекс його першого елемента. Масив може мати будь-яку нижню межу, але за замовчуванням вона дорівнює нулю. При створенні екземпляра можна визначити іншу нижню межу Array класу CreateInstance. Багатовимірний масив Array може мати різні нижні межі для кожного вимірювання. Масив може мати більше 32 вимірів.

На відміну від класів в просторі імен System.Collections. масиви мають фіксовану ємність. Щоб мати додаткову, необхідно створити новий масив потрібної ємкості, скопіювати елементи зі старого масиву в новий і видалити старий масив.

За замовчуванням максимальний розмір Array становить 2 гігабайти (ГБ). У 64-розрядної середовищі, обмеження на розмір можна уникнути, задавши enabled атрибут gcAllowVeryLargeObjects елемент конфігурації, щоб true в середовищі виконання. Однак масив як і раніше будуть тільки всього 4 млрд елементів, а максимальний індекс 0X7FEFFFFF будь-якого заданого виміру (0X7FFFFFC7 для масивів байтів і масиви структур однобайтових).

Type.IsArray і Type. GetElementType можуть не повертати очікувані результати з Array оскільки якщо масив приводиться до типу Array. результатом є об'єкт, а не масив. Тобто typeof (System.Array) .IsArray повертає false. і typeof (System.Array) .GetElementType повертає null.

Array Не обов'язково бути відсортовані. Спочатку потрібно впорядкувати Array перед виконанням операцій (таких як BinarySearch), що вимагають Array повинні бути відсортовані.

За допомогою Array об'єкта покажчиків в машинному коді не підтримує і викликає NotSupportedException кілька методів.

Схожі статті