Čo je System.Array v C#

Co Je System Array V C



C# podporuje použitie polí ako dátovej štruktúry, čo nám umožňuje ukladať kolekciu prvkov rovnakého typu v sekvenčnom poradí pevnej veľkosti. Všetky vlastnosti poľa v C# sú odvodené od System.Array class, ktorá slúži ako základná trieda pre typy polí.

Keďže ide o abstraktnú základnú triedu, priame vytvorenie inštancie triedy System.Array nie je možné. Namiesto toho môžeme vytvoriť inštancie jednej z tried odvodených od System.Array. Všetky typy polí v C# sú založené na System.Array.

Okrem jednorozmerných polí má C# aj viacrozmerné polia a zubaté polia. Viacrozmerné pole má viac alebo viac rozmerov. V zubatom poli môže byť každý prvok poľom rôznych veľkostí. Jednoducho povedané, zubaté pole je pole polí.







Na čo sa používa trieda System.Array

Trieda System.Array poskytuje rôzne metódy a vlastnosti na manipuláciu s poľami v C#. Tieto metódy nám umožňujú čítať a upravovať hodnoty uložené v poli, získavať informácie o veľkosti a tvare poľa a vyhľadávať prvky v poli.



Niektoré bežné metódy zahŕňajú GetValue(), SetValue(), GetLength() a IndexOf(). The System.Array class nám tiež umožňuje triediť, vyhľadávať a manipulovať s rôznymi poliami.



Napríklad, ak chcete získať dĺžku poľa, Vlastnosť dĺžky sa používa. The Hodnostná vlastnosť môže vrátiť celkové rozmery prítomné v poli. The Vlastnosť GetLength udáva dĺžku konkrétneho rozmeru vo viacrozmernom poli.





Metódy a vlastnosti v System.Array C#

Tu je niekoľko metód a vlastností používaných v System.Array C#:

Jasný(): Toto je metóda, ktorá je dostupná verejnosti a je prístupná z ktorejkoľvek časti kódu. Táto metóda môže nastaviť konkrétny rozsah prvkov v poli na nulovú referenciu alebo nulu.



Kopírovať(): Toto je verejná zdieľaná metóda, ktorá môže byť preťažená a používa sa na kopírovanie určitej časti prvkov z jedného poľa do druhého poľa.

GetLength(): Vracia 32-bitové celé číslo, ktoré zobrazuje celkový počet prvkov v konkrétnej dimenzii poľa.

GetLongLength(): Táto metóda vracia 64-bitové celé číslo, ktoré nám dáva celkový počet prvkov v špecifickej dimenzii poľa.

GetLowerBound(): Táto metóda získava spodnú hranicu konkrétnej dimenzie poľa, počnúc indexom 0.

GetUpperBound(): Táto metóda získa hornú hranicu špecifikovaného rozmeru poľa, počnúc indexom 0.

GetValue(): Táto metóda načíta hodnotu konkrétneho prvku v poli počnúc indexom 1.

IndexOf(): Toto je verejná zdieľaná metóda, ktorá môže byť preťažená, aby vrátila index alebo posun prvého výskytu konkrétnej hodnoty v jednorozmernom poli.

IsFixedSize(): Táto metóda hovorí, či má pole pevnú veľkosť alebo nie.

IsReadOnly(): Metóda dáva hodnotu, ktorá označuje, či je pole len na čítanie alebo nie.

LastIndexOf(): Toto je verejná zdieľaná metóda, ktorá môže byť preťažená. Udáva index posledného výskytu hodnoty v jednorozmernom poli.

Dĺžka (): Táto metóda dáva poliam dĺžku. Je to verejný majetok a na výstupe je 32-bitová celočíselná hodnota.

Dĺžka(): Táto metóda hovorí o prvkoch vo všetkých rozmeroch poľa. Vráti 64-bitovú celočíselnú hodnotu.

Poradie (): Táto metóda vráti počet dimenzií, ktoré má pole.

Zmeniť veľkosť (): Táto metóda zmení veľkosť poľa na zadaný počet prvkov.

Obrátiť (): Táto metóda môže obrátiť poradie prvkov v jednorozmernom poli.

Zoradiť (): Táto metóda usporiada prvky v jednorozmernom poli vo vzostupnom alebo zostupnom poradí v závislosti od ich hodnôt.

Príklad kódu

Nižšie uvedený kód inicializuje pole celých čísel a demonštruje rôzne System.Array metódy, ktoré možno použiť s poliami v C#. Výstup každej metódy je zobrazený samostatne na konzole.

pomocou systému ;
triedny program
{
statické neplatné Hlavná ( reťazec [ ] args )
{
// Inicializuje pole celých čísel
int [ ] čísla = { 1 , 2 , 3 , 4 , 5 } ;


// Vymazať obsah poľa

Pole. jasný ( čísla , 0 , čísla. Dĺžka ) ;

Konzola. WriteLine ( 'Pole po vymazaní:' ) ;

pre ( int i = 0 ; i < čísla. Dĺžka ; i ++ )

{

Konzola. Napíšte ( čísla [ i ] + '' ) ;

}

Konzola. WriteLine ( ) ;

// Skopírujte obsah iného poľa do nums

int [ ] numsCopy = { 7 , 8 , 9 } ;

Pole. Kopírovať ( numsCopy , čísla , numsCopy. Dĺžka ) ;

Konzola. WriteLine ( 'Pole po skopírovaní:' ) ;

pre ( int i = 0 ; i < čísla. Dĺžka ; i ++ )

{

Konzola. Napíšte ( čísla [ i ] + '' ) ;

}

Konzola. WriteLine ( ) ;

// Získajte dĺžku a dlhú dĺžku poľa

int dĺžka = čísla. GetLength ( 0 ) ;

dlhý dlháDĺžka = čísla. GetLongLength ( 0 ) ;

Konzola. WriteLine ( 'Dĺžka poľa: ' + dĺžka ) ;

Konzola. WriteLine ( 'Dlhá dĺžka poľa: ' + dlháDĺžka ) ;

// Získanie spodnej a hornej hranice poľa

int nižšia hranica = čísla. GetLowerBound ( 0 ) ;

int Horná hranica = čísla. GetUpperBound ( 0 ) ;

Konzola. WriteLine ( 'Spodná hranica poľa: ' + nižšia hranica ) ;

Konzola. WriteLine ( 'Horná hranica poľa: ' + Horná hranica ) ;

// Získanie hodnoty na konkrétnom indexe v poli

int valueAtIndex = ( int ) čísla. GetValue ( 1 ) ;

Konzola. WriteLine ( 'Hodnota na indexe 1: ' + valueAtIndex ) ;

// Nájdenie indexu konkrétnej hodnoty v poli

int indexOfValue = Pole. IndexOf ( čísla , 9 ) ;

Konzola. WriteLine ( 'Index hodnoty 9: ' + indexOfValue ) ;

// Skontrolujte, či má pole pevnú veľkosť a je len na čítanie

bool isFixedSize = čísla. IsFixedSize ;

bool je iba na čítanie = čísla. IsReadOnly ;

Konzola. WriteLine ( 'Je pevná veľkosť?' + isFixedSize ) ;

Konzola. WriteLine ( 'Je len na čítanie?' + je iba na čítanie ) ;

// Nájdenie posledného indexu konkrétnej hodnoty v poli

int lastIndexOfValue = Pole. LastIndexOf ( čísla , 9 ) ;

Konzola. WriteLine ( 'Posledný index hodnoty 9: ' + lastIndexOfValue ) ;

// Získanie dĺžky poľa

int dĺžka opäť = čísla. Dĺžka ;

Konzola. WriteLine ( 'Znova dĺžka poľa: ' + dĺžka opäť ) ;

// Získanie poradia poľa

int hodnosť = čísla. Poradie ;

Konzola. WriteLine ( 'Hodnotenie poľa: ' + hodnosť ) ;

// Zmena veľkosti poľa

Pole. Zmeniť veľkosť ( ref nums , 10 ) ;



// Obrátiť obsah poľa

Pole. Obrátené ( čísla ) ;

Konzola. WriteLine ( 'Pole po cúvaní:' ) ;

pre ( int i = 0 ; i < čísla. Dĺžka ; i ++ )

{

Konzola. Napíšte ( čísla [ i ] + '' ) ;

}

Konzola. WriteLine ( ) ;



// Zoradiť obsah poľa

Pole. Triediť ( čísla ) ;

Konzola. WriteLine ( 'Pole po zoradení:' ) ;

pre ( int i = 0 ; i < čísla. Dĺžka ; i ++ )

{

Konzola. Napíšte ( čísla [ i ] + '' ) ;

}

}

}

Výkon

Záver

Trieda System.Array v C# poskytuje základ pre prácu s poliami všetkých typov. Či už potrebujeme vytvoriť jednoduché jednorozmerné pole alebo zložité viacrozmerné pole, trieda System.Array poskytuje rôzne metódy na efektívnu manipuláciu a prácu s údajmi. Podrobný popis System.Array v C# nájdete v článku.