Что такое System.Array в С#

Cto Takoe System Array V S



C# поддерживает использование массивов в качестве структуры данных, что позволяет нам хранить коллекцию элементов одного типа в последовательном порядке фиксированного размера. Все свойства массива в C# получены из Система.Массив class, который служит базовым классом для типов массивов.

Поскольку это абстрактный базовый класс, прямое создание экземпляра класса System.Array невозможно. Вместо этого мы можем создать экземпляры одного из классов, производных от System.Array. Все типы массивов в C# основаны на System.Array.

В дополнение к одномерным массивам в C# также есть многомерные массивы и зубчатые массивы. Многомерный массив имеет несколько или более измерений. В зубчатом массиве каждый элемент может быть массивом разных размеров. Проще говоря, зубчатый массив — это массив массивов.







Для чего используется класс System.Array

Класс System.Array предоставляет различные методы и свойства для работы с массивами в C#. Эти методы позволяют нам читать и изменять значения, хранящиеся в массиве, получать информацию о размере и форме массива и искать элементы в массиве.



Некоторые распространенные методы включают GetValue(), SetValue(), GetLength() и IndexOf(). Система.Массив class также позволяет нам сортировать, искать и манипулировать различными массивами.



Например, чтобы получить длину массива, Свойство длины используется. Свойство ранга может возвращать общие размеры, присутствующие в массиве. Свойство GetLength дает длину определенного измерения в многомерном массиве.





Методы и свойства в System.Array C#

Вот несколько методов и свойств, используемых в System.Array C#:

Прозрачный(): Это общедоступный метод, к которому можно получить доступ из любой части кода. Этот метод может установить для определенного диапазона элементов в массиве нулевую ссылку или нуль.



Копировать(): Это общедоступный общий метод, который можно перегрузить и использовать для копирования определенного раздела элементов из одного массива в другой массив.

Получитьдлину(): Он возвращает 32-битное целое число, которое показывает общее количество элементов в определенном измерении массива.

Получитьдлиннуюдлину(): Этот метод возвращает 64-битное целое число, которое дает нам общее количество элементов в определенном измерении массива.

Получитьнижнюю границу(): Этот метод извлекает нижнюю границу определенного измерения массива, начиная с индекса 0.

ПолучитьВерхнююГраницу(): Этот метод извлекает верхнюю границу указанного измерения массива, начиная с индекса 0.

ПолучитьЗначение(): Этот метод извлекает значение определенного элемента в массиве, начиная с индекса 1.

Индекс чего-либо(): Это общедоступный общий метод, который можно перегрузить для возврата индекса или смещения первого вхождения определенного значения в одномерном массиве.

ФиксированныйРазмер(): Этот метод сообщает, имеет ли массив фиксированный размер или нет.

ТолькоЧитать(): Метод возвращает значение, указывающее, доступен ли массив только для чтения или нет.

ЛастИндексОф(): Это общедоступный общий метод, который можно перегружать. Он дает индекс последнего вхождения значения в одномерный массив.

Длина(): Этот метод дает длину массивов. Это общедоступное свойство, которое выводит 32-битное целое число.

Большая длина(): Этот метод сообщает элементы во всех измерениях массива. Он возвращает 64-битное целочисленное значение.

Классифицировать(): Этот метод возвращает количество измерений, которые имеет массив.

Изменить размер(): Этот метод изменяет размер массива до указанного количества элементов.

Обеспечить регресс(): Этот метод может изменить порядок элементов в одномерном массиве.

Сортировать(): Этот метод упорядочивает элементы одномерного массива в порядке возрастания или убывания в зависимости от их значений.

Пример кода

Приведенный ниже код инициализирует массив целых чисел и демонстрирует различные Система.Массив методы, которые можно использовать с массивами в C#. Вывод каждого метода отображается отдельно на консоли.

используя систему ;
программа класса
{
статический пустота Основной ( нить [ ] аргументы )
{
// Инициализировать массив целых чисел
инт [ ] числа '=' { 1 , 2 , 3 , 4 , 5 } ;


// Очистить содержимое массива

Множество. Прозрачный ( числа , 0 , числа. Длина ) ;

Консоль. WriteLine ( 'Массив после очистки:' ) ;

для ( инт я '=' 0 ; я < числа. Длина ; я ++ )

{

Консоль. Писать ( числа [ я ] + ' ' ) ;

}

Консоль. WriteLine ( ) ;

// Копируем содержимое другого массива в nums

инт [ ] numsКопировать '=' { 7 , 8 , 9 } ;

Множество. Копировать ( numsКопировать , числа , numsCopy. Длина ) ;

Консоль. WriteLine ( 'Массив после копирования:' ) ;

для ( инт я '=' 0 ; я < числа. Длина ; я ++ )

{

Консоль. Писать ( числа [ я ] + ' ' ) ;

}

Консоль. WriteLine ( ) ;

// Получить длину и большую длину массива

инт длина '=' числа. Получитьдлину ( 0 ) ;

длинный Большая длина '=' числа. GetLongLength ( 0 ) ;

Консоль. WriteLine ( 'Длина массива:' + длина ) ;

Консоль. WriteLine ( 'Длинная длина массива:' + Большая длина ) ;

// Получаем нижнюю и верхнюю границы массива

инт нижняя граница '=' числа. GetLowerBound ( 0 ) ;

инт верхняя граница '=' числа. GetUpperBound ( 0 ) ;

Консоль. WriteLine ( 'Нижняя граница массива:' + нижняя граница ) ;

Консоль. WriteLine ( 'Верхняя граница массива:' + верхняя граница ) ;

// Получить значение по определенному индексу в массиве

инт значение в индексе '=' ( инт ) числа. получить значение ( 1 ) ;

Консоль. WriteLine ( 'Значение по индексу 1:' + значение в индексе ) ;

// Находим индекс определенного значения в массиве

инт индексофвалуе '=' Множество. Индекс ( числа , 9 ) ;

Консоль. WriteLine ( 'Индекс значения 9:' + индексофвалуе ) ;

// Проверяем, имеет ли массив фиксированный размер и доступен ли он только для чтения

bool isFixedSize '=' числа. Исфикседсизе ;

логическое значение только для чтения '=' числа. IsReadOnly ;

Консоль. WriteLine ( 'Фиксированный размер?' + isFixedSize ) ;

Консоль. WriteLine ( 'Только для чтения?' + isReadOnly ) ;

// Находим последний индекс определенного значения в массиве

инт ластиндексофвалуе '=' Множество. ЛастИндексОф ( числа , 9 ) ;

Консоль. WriteLine ( 'Последний индекс значения 9:' + ластиндексофвалуе ) ;

// Получаем длину массива

инт длинаСнова '=' числа. Длина ;

Консоль. WriteLine ( 'Длина массива еще раз:' + длинаСнова ) ;

// Получить ранг массива

инт классифицировать '=' числа. Классифицировать ;

Консоль. WriteLine ( 'Ранг массива: ' + классифицировать ) ;

// Изменяем размер массива

Множество. Изменить размер ( ссылочные номера , 10 ) ;



// Переворачиваем содержимое массива

Множество. Обеспечить регресс ( числа ) ;

Консоль. WriteLine ( 'Массив после реверсирования:' ) ;

для ( инт я '=' 0 ; я < числа. Длина ; я ++ )

{

Консоль. Писать ( числа [ я ] + ' ' ) ;

}

Консоль. WriteLine ( ) ;



// Сортируем содержимое массива

Множество. Сортировать ( числа ) ;

Консоль. WriteLine ( 'Массив после сортировки:' ) ;

для ( инт я '=' 0 ; я < числа. Длина ; я ++ )

{

Консоль. Писать ( числа [ я ] + ' ' ) ;

}

}

}

Выход

Заключение

Класс System.Array в C# обеспечивает основу для работы с массивами всех типов. Независимо от того, нужно ли нам создать простой одномерный массив или сложный многомерный массив, класс System.Array предоставляет различные методы для эффективного управления данными и работы с ними. Подробное описание System.Array в C# читайте в статье.