Koska kyseessä on abstrakti perusluokka, System.Array-luokan esiintymän luominen suoraan ei ole mahdollista. Sen sijaan voimme luoda esiintymiä yhdestä System.Arraysta johdetuista luokista. Kaikki C#:n taulukkotyypit perustuvat System.Array-tiedostoon.
Yksiulotteisten taulukoiden lisäksi C#:ssa on myös moniulotteisia taulukoita ja rosoisia taulukoita. Moniulotteisella taulukolla on useita tai enemmän kuin yksi ulottuvuus. rosoisessa taulukossa jokainen elementti voi olla erikokoinen taulukko. Yksinkertaisesti sanottuna rosoinen taulukko on joukko taulukoita.
Mihin System.Array-luokkaa käytetään
System.Array-luokka tarjoaa erilaisia menetelmiä ja ominaisuuksia taulukoiden käsittelyyn C#:ssa. Näiden menetelmien avulla voimme lukea ja muokata taulukkoon tallennettuja arvoja, saada tietoa taulukon koosta ja muodosta sekä etsiä taulukon elementtejä.
Joitakin yleisiä menetelmiä ovat GetValue(), SetValue(), GetLength() ja IndexOf(). The System.Array luokan avulla voimme myös lajitella, etsiä ja käsitellä erilaisia taulukoita.
Esimerkiksi taulukon pituuden saamiseksi Pituus omaisuus käytetään. The Sijoita omaisuus voi palauttaa taulukossa olevat kokonaismitat. The GetLength-ominaisuus antaa tietyn ulottuvuuden pituuden moniulotteisessa taulukossa.
System.Array C#:n menetelmät ja ominaisuudet
Tässä on muutamia System.Array C#:ssa käytettyjä menetelmiä ja ominaisuuksia:
Asia selvä(): Tämä on yleisön saatavilla oleva menetelmä, jota voidaan käyttää mistä tahansa koodin osasta. Tämä menetelmä voi asettaa tietyn taulukon elementtialueen nollaviittaukseksi tai nollaan.
Kopio(): Tämä on julkinen jaettu menetelmä, joka voidaan ylikuormittaa ja jota voidaan käyttää kopioimaan tietty osa elementtejä taulukosta toiseen.
GetLength(): Se palauttaa 32-bittisen kokonaisluvun, joka näyttää elementtien kokonaismäärän taulukon tietyssä ulottuvuudessa.
GetLongLength(): Tämä menetelmä palauttaa 64-bittisen kokonaisluvun, joka antaa meille elementtien kokonaismäärän taulukon tietyssä ulottuvuudessa.
GetLowerBound(): Tämä menetelmä hakee taulukon tietyn ulottuvuuden alarajan indeksistä 0 alkaen.
GetUpperBound(): Tämä menetelmä hakee taulukon määritetyn ulottuvuuden ylärajan indeksistä 0 alkaen.
GetValue(): Tämä menetelmä hakee taulukon tietyn elementin arvon indeksistä 1 alkaen.
Sisällysluettelo(): Tämä on julkinen jaettu menetelmä, joka voidaan ylikuormittaa tietyn arvon ensimmäisen esiintymisen indeksin tai offsetin palauttamiseksi yksiulotteisessa taulukossa.
IsFixedSize(): Tämä menetelmä kertoo, onko taulukolla kiinteä koko vai ei.
OnReadOnly(): Menetelmä antaa arvon, joka ilmaisee, onko taulukko vain luku -tilassa vai ei.
LastIndexOf(): Tämä on julkinen jaettu menetelmä, joka voidaan ylikuormittaa. Se antaa indeksin arvon viimeisestä esiintymisestä yksiulotteisessa taulukossa.
Pituus(): Tämä menetelmä antaa taulukoille pituuden. Se on julkinen omaisuus ja tulostaa 32-bittisen kokonaisluvun.
Pitkä pituus(): Tämä menetelmä kertoo elementit taulukon kaikissa ulottuvuuksissa. Se palauttaa 64-bittisen kokonaisluvun.
Sijoitus(): Tämä menetelmä palauttaa taulukon dimensioiden määrän.
Muuta kokoa (): Tämä menetelmä muuttaa taulukon koon määritetylle määrälle elementtejä.
Käänteinen(): Tämä menetelmä voi kääntää elementtien järjestyksen yksiulotteisessa taulukossa.
Järjestellä(): Tämä menetelmä järjestää elementit yksiulotteiseen taulukkoon nousevaan tai laskevaan järjestykseen niiden arvojen mukaan.
Esimerkkikoodi
Alla oleva koodi alustaa joukon kokonaislukuja ja esittelee erilaisia System.Array menetelmät, joita voidaan käyttää C#:n taulukoiden kanssa. Kunkin menetelmän tulos näytetään erikseen konsolissa.
järjestelmän avulla ;luokan ohjelma
{
staattinen mitätön Main ( merkkijono [ ] args )
{
// Alustaa kokonaislukujen joukko
int [ ] numeroita = { 1 , 2 , 3 , 4 , 5 } ;
// Tyhjennä taulukon sisältö
Array. Asia selvä ( numeroita , 0 , numeroita. Pituus ) ;
Konsoli. WriteLine ( 'Matriisi tyhjennyksen jälkeen:' ) ;
varten ( int i = 0 ; i < numeroita. Pituus ; i ++ )
{
Konsoli. Kirjoittaa ( numeroita [ i ] + ' ' ) ;
}
Konsoli. WriteLine ( ) ;
// Kopioi toisen taulukon sisältö numeroiksi
int [ ] nusCopy = { 7 , 8 , 9 } ;
Array. Kopio ( nusCopy , numeroita , nusCopy. Pituus ) ;
Konsoli. WriteLine ( 'Matriisi kopioinnin jälkeen:' ) ;
varten ( int i = 0 ; i < numeroita. Pituus ; i ++ )
{
Konsoli. Kirjoittaa ( numeroita [ i ] + ' ' ) ;
}
Konsoli. WriteLine ( ) ;
// Hanki taulukon pituus ja pitkä pituus
int pituus = numeroita. GetLength ( 0 ) ;
pitkä pitkäPituus = numeroita. GetLongLength ( 0 ) ;
Konsoli. WriteLine ( 'Matriisin pituus:' + pituus ) ;
Konsoli. WriteLine ( 'Matriisin pitkä pituus:' + pitkäPituus ) ;
// Hanki taulukon ala- ja yläraja
int alaraja = numeroita. GetLowerBound ( 0 ) ;
int yläraja = numeroita. GetUpperBound ( 0 ) ;
Konsoli. WriteLine ( 'Matriisin alaraja:' + alaraja ) ;
Konsoli. WriteLine ( 'Matriisin yläraja:' + yläraja ) ;
// Hanki arvo tietyltä taulukon indeksiltä
int valueAtIndex = ( int ) numeroita. GetValue ( 1 ) ;
Konsoli. WriteLine ( 'Arvo indeksissä 1:' + valueAtIndex ) ;
// Etsi taulukosta tietyn arvon indeksi
int indexOfValue = Array. Sisällysluettelo ( numeroita , 9 ) ;
Konsoli. WriteLine ( 'Arvoindeksi 9: ' + indexOfValue ) ;
// Tarkista, onko taulukko kiinteäkokoinen ja vain luku -tilassa
bool isFixedSize = numeroita. IsFixedSize ;
bool on ReadOnly = numeroita. OnReadOnly ;
Konsoli. WriteLine ( 'Onko kiinteä koko?' + isFixedSize ) ;
Konsoli. WriteLine ( 'Onko vain luku?' + on Vain luku ) ;
// Etsi taulukosta tietyn arvon viimeinen indeksi
int lastIndexOfValue = Array. LastIndexOf ( numeroita , 9 ) ;
Konsoli. WriteLine ( 'Arvon 9 viimeinen indeksi: ' + lastIndexOfValue ) ;
// Hanki taulukon pituus
int pituutta taas = numeroita. Pituus ;
Konsoli. WriteLine ( 'Matriisin pituus taas:' + pituutta taas ) ;
// Hanki taulukon sijoitus
int sijoitus = numeroita. Sijoitus ;
Konsoli. WriteLine ( 'Matriisin sijoitus:' + sijoitus ) ;
// Muuta taulukon kokoa
Array. Muuta kokoa ( viitenumerot , 10 ) ;
// Kääntää taulukon sisällön
Array. Käänteinen ( numeroita ) ;
Konsoli. WriteLine ( 'Matriisi peruutuksen jälkeen:' ) ;
varten ( int i = 0 ; i < numeroita. Pituus ; i ++ )
{
Konsoli. Kirjoittaa ( numeroita [ i ] + ' ' ) ;
}
Konsoli. WriteLine ( ) ;
// Lajittele taulukon sisältö
Array. Järjestellä ( numeroita ) ;
Konsoli. WriteLine ( 'Matriisi lajittelun jälkeen:' ) ;
varten ( int i = 0 ; i < numeroita. Pituus ; i ++ )
{
Konsoli. Kirjoittaa ( numeroita [ i ] + ' ' ) ;
}
}
}
Lähtö
Johtopäätös
C#:n System.Array-luokka tarjoaa perustan kaikentyyppisten taulukoiden kanssa työskentelylle. Olipa meidän tarpeen luoda yksinkertainen yksiulotteinen taulukko tai monimutkainen moniulotteinen taulukko, System.Array-luokka tarjoaa erilaisia menetelmiä käsitellä ja käsitellä tietoja tehokkaasti. Yksityiskohtainen kuvaus System.Arraysta C#:ssa on artikkelissa.