Kaj je System.Array v C#

Kaj Je System Array V C



C# podpira uporabo nizov kot podatkovne strukture, kar nam omogoča shranjevanje zbirke elementov iste vrste v zaporednem vrstnem redu fiksne velikosti. Vse lastnosti matrike v C# so izpeljane iz System.Array razred, ki služi kot osnovni razred za matrične vrste.

Ker gre za abstrakten osnovni razred, neposredno ustvarjanje primerka razreda System.Array ni mogoče. Namesto tega lahko ustvarimo primerke enega od razredov, izpeljanih iz System.Array. Vse vrste matrik v C# temeljijo na System.Array.

Poleg enodimenzionalnih matrik ima C# tudi večdimenzionalne matrike in nazobčane matrike. Večdimenzionalni niz ima več ali več kot eno dimenzijo. V nazobčanem nizu je lahko vsak element niz različnih velikosti. Preprosto povedano, nazobčani niz je niz nizov.







Za kaj se uporablja razred System.Array

Razred System.Array nudi različne metode in lastnosti za upravljanje nizov v C#. Te metode nam omogočajo branje in spreminjanje vrednosti, shranjenih v matriki, pridobivanje informacij o velikosti in obliki matrike ter iskanje elementov v matriki.



Nekatere pogoste metode vključujejo GetValue(), SetValue(), GetLength() in IndexOf(). The System.Array razred nam omogoča tudi razvrščanje, iskanje in upravljanje različnih nizov.



Če želite na primer dobiti dolžino niza, Lastnost dolžine se uporablja. The Lastnost ranga lahko vrne skupne dimenzije v matriki. The Lastnost GetLength podaja dolžino določene dimenzije v večdimenzionalnem nizu.





Metode in lastnosti v System.Array C#

Tukaj je nekaj metod in lastnosti, uporabljenih v System.Array C#:

Počisti(): To je metoda, ki je na voljo javnosti in je dostopna iz katerega koli dela kode. Ta metoda lahko nastavi določen obseg elementov v matriki na ničelno referenco ali nič.



Kopirati(): To je javna metoda v skupni rabi, ki jo je mogoče preobremeniti in uporabiti za kopiranje določenega dela elementov iz ene matrike v drugo matriko.

GetLength(): Vrne 32-bitno celo število, ki prikazuje skupno število elementov v določeni dimenziji matrike.

GetLongLength(): Ta metoda vrne 64-bitno celo število, ki nam poda skupno število elementov v določeni dimenziji matrike.

GetLowerBound(): Ta metoda pridobi spodnjo mejo določene dimenzije matrike, začenši z indeksom 0.

GetUpperBound(): Ta metoda pridobi zgornjo mejo podane dimenzije matrike, začenši z indeksom 0.

GetValue(): Ta metoda pridobi vrednost določenega elementa v matriki, začenši z indeksom 1.

Indeks(): To je javna metoda v skupni rabi, ki jo je mogoče preobremeniti, da vrne indeks ali odmik prve pojavitve določene vrednosti v enodimenzionalni matriki.

IsFixedSize(): Ta metoda pove, ali ima niz fiksno velikost ali ne.

IsReadOnly(): Metoda daje vrednost, ki označuje, ali je matrika samo za branje ali ne.

LastIndexOf(): To je javna metoda v skupni rabi, ki jo je mogoče preobremeniti. Poda indeks zadnje pojavitve vrednosti v enodimenzionalni matriki.

Dolžina (): Ta metoda daje dolžino nizov. Je javna last in daje 32-bitno celoštevilsko vrednost.

LongLength(): Ta metoda sporoči elemente v vseh dimenzijah matrike. Vrne 64-bitno celoštevilsko vrednost.

uvrstitev(): Ta metoda vrne število dimenzij, ki jih ima matrika.

Spremeni velikost (): Ta metoda spremeni velikost matrike na določeno število elementov.

Obratno(): Ta metoda lahko obrne vrstni red elementov v enodimenzionalni matriki.

Razvrsti(): Ta metoda razporedi elemente v enodimenzionalnem nizu v naraščajočem ali padajočem vrstnem redu, odvisno od njihovih vrednosti.

Primer kode

Spodnja koda inicializira niz celih števil in prikazuje različne System.Array metode, ki jih je mogoče uporabiti z nizi v C#. Izhod vsake metode je ločeno prikazan na konzoli.

z uporabo sistema ;
razredni program
{
statična praznina Glavni ( vrvica [ ] args )
{
// Inicializira matriko celih števil
int [ ] številke = { 1 , 2 , 3 , 4 , 5 } ;


// Počisti vsebino matrike

Array. jasno ( številke , 0 , številke. Dolžina ) ;

Konzola. WriteLine ( 'Matrika po čiščenju:' ) ;

za ( int jaz = 0 ; jaz < številke. Dolžina ; jaz ++ )

{

Konzola. Pišite ( številke [ jaz ] + ' ' ) ;

}

Konzola. WriteLine ( ) ;

// Kopiraj vsebino druge matrike v nums

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

Array. Kopirati ( numsCopy , številke , numsCopy. Dolžina ) ;

Konzola. WriteLine ( 'Matrika po kopiranju:' ) ;

za ( int jaz = 0 ; jaz < številke. Dolžina ; jaz ++ )

{

Konzola. Pišite ( številke [ jaz ] + ' ' ) ;

}

Konzola. WriteLine ( ) ;

// Pridobite dolžino in dolgo dolžino matrike

int dolžina = številke. GetLength ( 0 ) ;

dolga longLength = številke. GetLongLength ( 0 ) ;

Konzola. WriteLine ( 'Dolžina niza: ' + dolžina ) ;

Konzola. WriteLine ( 'Dolga dolžina niza: ' + longLength ) ;

// Pridobite spodnjo in zgornjo mejo matrike

int spodnja meja = številke. GetLowerBound ( 0 ) ;

int Zgornja meja = številke. GetUpperBound ( 0 ) ;

Konzola. WriteLine ( 'Spodnja meja matrike: ' + spodnja meja ) ;

Konzola. WriteLine ( 'Zgornja meja matrike: ' + Zgornja meja ) ;

// Pridobite vrednost pri določenem indeksu v matriki

int valueAtIndex = ( int ) številke. GetValue ( 1 ) ;

Konzola. WriteLine ( 'Vrednost pri indeksu 1: ' + valueAtIndex ) ;

// Poiščite indeks določene vrednosti v matriki

int indexOfValue = Array. Indeks ( številke , 9 ) ;

Konzola. WriteLine ( 'Indeks vrednosti 9: ' + indexOfValue ) ;

// Preverite, ali je polje fiksne velikosti in samo za branje

bool je FixedSize = številke. IsFixedSize ;

bool je samo za branje = številke. IsReadOnly ;

Konzola. WriteLine ( 'Je fiksna velikost?' + isFixedSize ) ;

Konzola. WriteLine ( 'Je samo za branje?' + isReadOnly ) ;

// Poiščite zadnji indeks določene vrednosti v matriki

int lastIndexOfValue = Array. LastIndexOf ( številke , 9 ) ;

Konzola. WriteLine ( 'Zadnji indeks vrednosti 9: ' + lastIndexOfValue ) ;

// Pridobite dolžino niza

int dolžina Spet = številke. Dolžina ;

Konzola. WriteLine ( 'Spet dolžina niza: ' + dolžina Spet ) ;

// Pridobite rang matrike

int rang = številke. Rank ;

Konzola. WriteLine ( 'Uvrstitev matrike: ' + rang ) ;

// Spremeni velikost matrike

Array. Spremeni velikost ( referenčne številke , 10 ) ;



// Obrni vsebino matrike

Array. Vzvratno ( številke ) ;

Konzola. WriteLine ( 'Matrika po obračanju:' ) ;

za ( int jaz = 0 ; jaz < številke. Dolžina ; jaz ++ )

{

Konzola. Pišite ( številke [ jaz ] + ' ' ) ;

}

Konzola. WriteLine ( ) ;



// Razvrsti vsebino matrike

Array. Razvrsti ( številke ) ;

Konzola. WriteLine ( 'Matrika po razvrščanju:' ) ;

za ( int jaz = 0 ; jaz < številke. Dolžina ; jaz ++ )

{

Konzola. Pišite ( številke [ jaz ] + ' ' ) ;

}

}

}

Izhod

Zaključek

Razred System.Array v C# zagotavlja osnovo za delo z matrikami vseh vrst. Ne glede na to, ali moramo ustvariti preprosto enodimenzionalno matriko ali zapleteno večdimenzionalno matriko, razred System.Array ponuja različne metode za učinkovito upravljanje in delo s podatki. Za podroben opis System.Array v C# preberite članek.