Тъй като това е абстрактен базов клас, директното създаване на екземпляр на класа System.Array не е възможно. Вместо това можем да създадем екземпляри на един от класовете, извлечени от System.Array. Всички типове масиви в C# са базирани на System.Array.
В допълнение към едномерните масиви, C# също има многомерни масиви и назъбени масиви. Многомерният масив има множество или повече от едно измерение. В назъбен масив всеки елемент може да бъде масив с различни размери. С прости думи, назъбен масив е масив от масиви.
За какво се използва класът System.Array
Класът System.Array предоставя различни методи и свойства за манипулиране на масиви в C#. Тези методи ни позволяват да четем и променяме стойностите, съхранени в масив, да получаваме информация за размера и формата на масива и да търсим елементи в масива.
Някои често срещани методи включват GetValue(), SetValue(), GetLength() и IndexOf(). The System.Array клас също ни позволява да сортираме, търсим и манипулираме различни масиви.
Например, за да получите дължина на масива, Имот дължина се използва. The Ранг собственост може да върне общите размери, налични в масив. The Свойство GetLength дава дължината на конкретно измерение в многомерен масив.
Методи и свойства в System.Array C#
Ето няколко метода и свойства, използвани в System.Array C#:
Изчисти(): Това е метод, който е достъпен за обществеността и може да бъде достъпен от всяка част на кода. Този метод може да зададе определен диапазон от елементи в рамките на масив на нулева препратка или нула.
Копие(): Това е публичен споделен метод, който може да бъде претоварен и използван за копиране на определена секция от елементи от един масив в друг масив.
GetLength(): Връща 32-битово цяло число, което показва общия брой елементи в определено измерение на масив.
GetLongLength(): Този метод връща 64-битово цяло число, което ни дава общия брой елементи в конкретно измерение на масива.
GetLowerBound(): Този метод извлича долната граница на определено измерение на масива, започвайки от индекс 0.
GetUpperBound(): Този метод извлича горната граница на определено измерение на масива, започвайки от индекс 0.
GetValue(): Този метод извлича стойността на конкретен елемент в масива, започвайки от индекс 1.
Индекс на(): Това е публичен споделен метод, който може да бъде претоварен, за да върне индекса или отместването на първото появяване на определена стойност в едномерен масив.
IsFixedSize(): Този метод показва дали даден масив има фиксиран размер или не.
IsReadOnly(): Методът дава стойност, която показва дали даден масив е само за четене или не.
LastIndexOf(): Това е публичен споделен метод, който може да бъде претоварен. Той дава индекса на последното срещане на стойност в едномерен масив.
Дължина (): Този метод дава дължина на масивите. Той е публична собственост и извежда 32-битова цяло число.
LongLength(): Този метод казва елементи във всички измерения на масива. Връща 64-битова цяло число.
Ранг(): Този метод връща броя на измеренията, които има масивът.
Преоразмеряване(): Този метод преоразмерява масив до определения брой елементи.
Обратен(): Този метод може да обърне реда на елементите в едномерен масив.
Вид(): Този метод подрежда елементи в едномерен масив във възходящ или низходящ ред в зависимост от техните стойности.
Примерен код
Кодът по-долу инициализира масив от цели числа и демонстрира различни System.Array методи, които могат да се използват с масиви в C#. Резултатът от всеки метод се показва отделно на конзолата.
използвайки System ;клас програма
{
статичен невалиден Основен ( низ [ ] аргументи )
{
// Инициализиране на масив от цели числа
вътр [ ] числа = { 1 , 2 , 3 , 4 , 5 } ;
// Изчистване на съдържанието на масива
Масив. ясно ( числа , 0 , числа. Дължина ) ;
Конзола. WriteLine ( „Масив след изчистване:“ ) ;
за ( вътр аз = 0 ; аз < числа. Дължина ; аз ++ )
{
Конзола. Пишете ( числа [ аз ] + ' ' ) ;
}
Конзола. WriteLine ( ) ;
// Копиране на съдържанието на друг масив в nums
вътр [ ] numsCopy = { 7 , 8 , 9 } ;
Масив. копие ( numsCopy , числа , numsCopy. Дължина ) ;
Конзола. WriteLine ( 'Масив след копиране:' ) ;
за ( вътр аз = 0 ; аз < числа. Дължина ; аз ++ )
{
Конзола. Пишете ( числа [ аз ] + ' ' ) ;
}
Конзола. WriteLine ( ) ;
// Получаване на дължината и дългата дължина на масива
вътр дължина = числа. GetLength ( 0 ) ;
дълго longLength = числа. GetLongLength ( 0 ) ;
Конзола. WriteLine ( 'Дължина на масива: ' + дължина ) ;
Конзола. WriteLine ( 'Дълга дължина на масива: ' + longLength ) ;
// Получаване на долната и горната граница на масива
вътр долна граница = числа. GetLowerBound ( 0 ) ;
вътр Горна граница = числа. GetUpperBound ( 0 ) ;
Конзола. WriteLine ( 'Долна граница на масива: ' + долна граница ) ;
Конзола. WriteLine ( 'Горна граница на масива: ' + Горна граница ) ;
// Вземете стойността на конкретен индекс в масива
вътр valueAtIndex = ( вътр ) числа. GetValue ( 1 ) ;
Конзола. WriteLine ( 'Стойност при индекс 1: ' + valueAtIndex ) ;
// Намиране на индекса на конкретна стойност в масива
вътр indexOfValue = Масив. Индекс на ( числа , 9 ) ;
Конзола. WriteLine ( 'Индекс на стойност 9: ' + indexOfValue ) ;
// Проверете дали масивът е с фиксиран размер и само за четене
bool isFixedSize = числа. IsFixedSize ;
bool е само за четене = числа. IsReadOnly ;
Конзола. WriteLine ( „Фиксиран размер ли е?“ + isFixedSize ) ;
Конзола. WriteLine ( „Само за четене ли е?“ + е само за четене ) ;
// Намиране на последния индекс на конкретна стойност в масива
вътр lastIndexOfValue = Масив. LastIndexOf ( числа , 9 ) ;
Конзола. WriteLine ( 'Последен индекс на стойност 9: ' + lastIndexOfValue ) ;
// Получаване на дължината на масива
вътр дължина отново = числа. Дължина ;
Конзола. WriteLine ( 'Отново дължина на масива: ' + дължина отново ) ;
// Получаване на ранга на масива
вътр ранг = числа. Ранг ;
Конзола. WriteLine ( 'Ранг на масива: ' + ранг ) ;
// Преоразмеряване на масива
Масив. Преоразмеряване ( референтни номера , 10 ) ;
// Обърнете съдържанието на масива
Масив. Обратен ( числа ) ;
Конзола. WriteLine ( „Масив след обръщане:“ ) ;
за ( вътр аз = 0 ; аз < числа. Дължина ; аз ++ )
{
Конзола. Пишете ( числа [ аз ] + ' ' ) ;
}
Конзола. WriteLine ( ) ;
// Сортиране на съдържанието на масива
Масив. Вид ( числа ) ;
Конзола. WriteLine ( 'Масив след сортиране:' ) ;
за ( вътр аз = 0 ; аз < числа. Дължина ; аз ++ )
{
Конзола. Пишете ( числа [ аз ] + ' ' ) ;
}
}
}
Изход
Заключение
Класът System.Array в C# предоставя основа за работа с масиви от всички типове. Независимо дали трябва да създадем прост едноизмерен масив или сложен многоизмерен масив, класът System.Array предоставя различни методи за ефективно манипулиране и работа с данни. За подробно описание на System.Array в C# прочетете статията.