Какво е System.Array в C#

Kakvo E System Array V C



C# поддържа използването на масиви като структура от данни, което ни позволява да съхраняваме колекция от елементи от един и същи тип в последователен ред с фиксиран размер. Всички свойства на масива в C# са извлечени от System.Array клас, който служи като базов клас за типовете масиви.

Тъй като това е абстрактен базов клас, директното създаване на екземпляр на класа 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# прочетете статията.