Kuna tegemist on abstraktse baasklassiga, ei ole System.Array klassi eksemplari otse loomine võimalik. Selle asemel saame luua ühe süsteemist System.Array tuletatud klassi eksemplare. Kõik C# massiivitüübid põhinevad System.Array-l.
Lisaks ühemõõtmelistele massiividele on C#-l ka mitmemõõtmelised massiivid ja sakilised massiivid. Mitmemõõtmelisel massiivil on mitu või rohkem kui üks dimensioon. Sakilises massiivis võib iga element olla erineva suurusega massiiv. Lihtsamalt öeldes on sakiline massiiv massiivi massiiv.
Milleks kasutatakse klassi System.Array?
Klass System.Array pakub erinevaid meetodeid ja omadusi massiivide manipuleerimiseks C#-s. Need meetodid võimaldavad meil lugeda ja muuta massiivi salvestatud väärtusi, saada teavet massiivi suuruse ja kuju kohta ning otsida massiivi elemente.
Mõned levinumad meetodid hõlmavad GetValue(), SetValue(), GetLength() ja IndexOf(). The System.Array klass võimaldab meil ka erinevaid massiive sorteerida, otsida ja nendega manipuleerida.
Näiteks massiivi pikkuse saamiseks Pikkusomadus kasutatakse. The Omandi järjestamine saab tagastada massiivi kogumõõtmed. The GetLength vara annab konkreetse mõõtme pikkuse mitmemõõtmelises massiivis.
System.Array C# meetodid ja omadused
Siin on mõned süsteemis System.Array C# kasutatud meetodid ja omadused:
Tühjenda (): See on meetod, mis on üldsusele kättesaadav ja millele pääseb juurde koodi mis tahes osast. Selle meetodi abil saab määrata massiivi teatud elementide vahemiku nullviide või null.
Kopeeri (): See on avalik jagatud meetod, mida saab üle koormata ja kasutada teatud elementide osa kopeerimiseks ühest massiivist teise.
GetLength(): See tagastab 32-bitise täisarvu, mis näitab elementide koguarvu massiivi teatud dimensioonis.
GetLongLength(): See meetod tagastab 64-bitise täisarvu, mis annab meile elementide koguarvu massiivi konkreetses mõõtmes.
GetLowerBound(): See meetod otsib massiivi konkreetse dimensiooni alumise piiri, alustades indeksist 0.
GetUpperBound(): See meetod otsib massiivi määratud mõõtme ülemise piiri, alustades indeksist 0.
GetValue(): See meetod hangib massiivi konkreetse elemendi väärtuse, alustades indeksist 1.
Indeks(): See on avalik jagatud meetod, mida saab üle koormata, et tagastada ühemõõtmelises massiivi konkreetse väärtuse esmakordse esinemise indeks või nihe.
IsFixedSize(): See meetod ütleb, kas massiivi suurus on fikseeritud või mitte.
OnReadOnly(): Meetod annab väärtuse, mis näitab, kas massiiv on kirjutuskaitstud või mitte.
LastIndexOf(): See on avalik jagatud meetod, mida saab üle koormata. See annab ühemõõtmelises massiivi väärtuse viimase esinemise indeksi.
Pikkus(): See meetod annab massiivi pikkusele. See on avalik omand ja väljastab 32-bitise täisarvu väärtuse.
LongLength(): See meetod kirjeldab elemente massiivi kõigis mõõtmetes. See tagastab 64-bitise täisarvu väärtuse.
Koht(): See meetod tagastab massiivi mõõtmete arvu.
Muuda suurust (): See meetod muudab massiivi suurust kindlaksmääratud arvu elementideni.
Tagurpidi(): See meetod võib ühemõõtmelises massiivi elementide järjekorda muuta.
Sorteeri(): See meetod paigutab elemendid ühemõõtmelisse massiivi vastavalt nende väärtustele kasvavas või kahanevas järjekorras.
Näidiskood
Allolev kood initsialiseerib täisarvude massiivi ja näitab erinevaid System.Array meetodid, mida saab kasutada C# massiividega. Iga meetodi väljund kuvatakse konsoolil eraldi.
süsteemi kasutades ;klassi programm
{
staatiline tühine Peamine ( string [ ] args )
{
// Initsialiseerib täisarvude massiivi
int [ ] numbrid = { 1 , 2 , 3 , 4 , 5 } ;
// Tühjendage massiivi sisu
Massiiv. Selge ( numbrid , 0 , numbrid. Pikkus ) ;
konsool. WriteLine ( 'Massiiv pärast tühjendamist:' ) ;
jaoks ( int i = 0 ; i < numbrid. Pikkus ; i ++ )
{
konsool. Kirjutage ( numbrid [ i ] + ' ' ) ;
}
konsool. WriteLine ( ) ;
// Kopeerige teise massiivi sisu numbriteks
int [ ] nusCopy = { 7 , 8 , 9 } ;
Massiiv. Kopeeri ( nusCopy , numbrid , nusCopy. Pikkus ) ;
konsool. WriteLine ( 'Massiiv pärast kopeerimist:' ) ;
jaoks ( int i = 0 ; i < numbrid. Pikkus ; i ++ )
{
konsool. Kirjutage ( numbrid [ i ] + ' ' ) ;
}
konsool. WriteLine ( ) ;
// Hangi massiivi pikkus ja pikk pikkus
int pikkus = numbrid. GetLength ( 0 ) ;
pikk pikkPikkus = numbrid. GetLongLength ( 0 ) ;
konsool. WriteLine ( 'Massiivi pikkus:' + pikkus ) ;
konsool. WriteLine ( 'Massiivi pikk pikkus:' + pikkPikkus ) ;
// Hangi massiivi alumine ja ülemine piir
int alampiir = numbrid. GetLowerBound ( 0 ) ;
int ülemine piir = numbrid. GetUpperBound ( 0 ) ;
konsool. WriteLine ( 'Massiivi alumine piir:' + alampiir ) ;
konsool. WriteLine ( 'Massiivi ülempiir:' + ülemine piir ) ;
// Hangi väärtus massiivi kindla indeksi juures
int valueAtIndex = ( int ) numbrid. GetValue ( 1 ) ;
konsool. WriteLine ( 'Väärtus indeksis 1:' + valueAtIndex ) ;
// Otsi massiivist konkreetse väärtuse indeks
int indexOfValue = Massiiv. Indeks ( numbrid , 9 ) ;
konsool. WriteLine ( 'Väärtuse indeks 9:' + indexOfValue ) ;
// Kontrollige, kas massiiv on fikseeritud suurusega ja kirjutuskaitstud
bool isFixedSize = numbrid. IsFixedSize ;
bool on ReadOnly = numbrid. On ReadOnly ;
konsool. WriteLine ( 'Kas suurus on fikseeritud?' + on FixedSize ) ;
konsool. WriteLine ( 'Kas on kirjutuskaitstud?' + on ainult lugemiseks ) ;
// Otsi massiivist konkreetse väärtuse viimane indeks
int lastIndexOfValue = Massiiv. LastIndexOf ( numbrid , 9 ) ;
konsool. WriteLine ( '9. väärtuse viimane indeks:' + lastIndexOfValue ) ;
// Hangi massiivi pikkus
int Jälle pikkus = numbrid. Pikkus ;
konsool. WriteLine ( 'Massiivi pikkus jälle:' + Jälle pikkus ) ;
// Hangi massiivi auaste
int koht = numbrid. Koht ;
konsool. WriteLine ( 'Massiivi asetus:' + koht ) ;
// Massiivi suuruse muutmine
Massiiv. Muuda suurust ( viitenumbrid , 10 ) ;
// Pöörake massiivi sisu ümber
Massiiv. Tagurpidi ( numbrid ) ;
konsool. WriteLine ( 'Massiiv pärast tagurdamist:' ) ;
jaoks ( int i = 0 ; i < numbrid. Pikkus ; i ++ )
{
konsool. Kirjutage ( numbrid [ i ] + ' ' ) ;
}
konsool. WriteLine ( ) ;
// Sorteeri massiivi sisu
Massiiv. Sorteeri ( numbrid ) ;
konsool. WriteLine ( 'Massiiv pärast sortimist:' ) ;
jaoks ( int i = 0 ; i < numbrid. Pikkus ; i ++ )
{
konsool. Kirjutage ( numbrid [ i ] + ' ' ) ;
}
}
}
Väljund
Järeldus
Klass System.Array C#-s loob aluse igat tüüpi massiividega töötamiseks. Olenemata sellest, kas peame looma lihtsa ühemõõtmelise massiivi või keeruka mitmemõõtmelise massiivi, pakub System.Array klass erinevaid meetodeid andmetega tõhusaks manipuleerimiseks ja nendega töötamiseks. System.Array üksikasjaliku kirjelduse C#-s leiate artiklist.