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.