Hva er System.Array i C#

Hva Er System Array I C



C# støtter bruk av arrays som en datastruktur, som gjør oss i stand til å lagre en samling av elementer av samme type i en sekvensiell rekkefølge av en fast størrelse. Alle matriseegenskaper i C# er avledet fra System.Array klasse, som fungerer som basisklassen for matrisetyper.

Siden det er en abstrakt baseklasse, er det ikke mulig å opprette en forekomst av System.Array-klassen direkte. I stedet kan vi lage forekomster av en av klassene avledet fra System.Array. Alle matrisetyper i C# er basert på System.Array.

I tillegg til endimensjonale arrays, har C# også flerdimensjonale arrays og taggete arrays. En flerdimensjonal matrise har flere eller større enn én dimensjon. I en tagget matrise kan hvert element være en matrise med forskjellige størrelser. Med enkle ord er en tagget array en rekke arrays.







Hva brukes System.Array Class til

System.Array-klassen gir ulike metoder og egenskaper for å manipulere matriser i C#. Disse metodene lar oss lese og endre verdiene som er lagret i en matrise, få informasjon om størrelsen og formen til en matrise og søke etter elementer i en matrise.



Noen vanlige metoder inkluderer GetValue(), SetValue(), GetLength() og IndexOf(). De System.Array klasse lar oss også sortere, søke og manipulere forskjellige matriser.



For å få matriselengde, for eksempel Lengde eiendom benyttes. De Ranger eiendom kan returnere totale dimensjoner som er tilstede i en matrise. De GetLength eiendom gir lengden til en bestemt dimensjon i en flerdimensjonal matrise.





Metoder og egenskaper i System.Array C#

Her er noen få metoder og egenskaper som brukes i System.Array C#:

Klar(): Dette er en metode som er tilgjengelig for publikum og kan nås fra alle deler av koden. Denne metoden kan sette et bestemt utvalg av elementer i en matrise til nullreferanse eller null.



Kopiere(): Dette er en offentlig delt metode som kan overbelastes og brukes til å kopiere en spesifikk del av elementer fra en matrise til en annen matrise.

GetLength(): Den returnerer et 32-bits heltall som viser totalt antall elementer i en bestemt dimensjon av en matrise.

GetLongLength(): Denne metoden returnerer et 64-bits heltall, som gir oss de totale elementene i en bestemt dimensjon av matrisen.

GetLowerBound(): Denne metoden henter den nedre grensen for en bestemt dimensjon av matrisen, med start på indeks 0.

GetUpperBound(): Denne metoden henter den øvre grensen for en spesifisert dimensjon til matrisen, med start på indeks 0.

GetValue(): Denne metoden henter verdien til et spesifikt element i matrisen, med start ved indeks 1.

Oversikt over(): Dette er en offentlig delt metode som kan overbelastes for å returnere indeksen eller forskyvningen av den første forekomsten av en bestemt verdi i en endimensjonal matrise.

IsFixedSize(): Denne metoden forteller om en matrise har en fast størrelse eller ikke.

IsReadOnly(): Metoden gir en verdi som angir om en matrise er skrivebeskyttet eller ikke.

LastIndexOf(): Dette er en offentlig delt metode som kan overbelastes. Den gir indeksen for siste forekomst av en verdi i en endimensjonal matrise.

Lengde(): Denne metoden gir arrays lengde. Den er offentlig eiendom og gir ut en 32-bits heltallsverdi.

LongLength(): Denne metoden forteller elementer i alle dimensjoner av matrisen. Den returnerer en 64-bits heltallsverdi.

Rang(): Denne metoden returnerer antall dimensjoner som matrisen har.

Endre størrelse(): Denne metoden endrer størrelsen på en matrise til det angitte antallet elementer.

Omvendt(): Denne metoden kan reversere elementrekkefølgen i en endimensjonal matrise.

Sortere(): Denne metoden ordner elementer i en endimensjonal matrise i stigende eller synkende rekkefølge avhengig av verdiene deres.

Eksempelkode

Koden nedenfor initialiserer en rekke heltall og demonstrerer forskjellige System.Array metoder som kan brukes med arrays i C#. Utdataene for hver metode vises separat på konsollen.

bruker System ;
klasseprogram
{
statisk tomrom Hoved ( streng [ ] args )
{
// Initialiser en rekke heltall
int [ ] tall = { 1 , 2 , 3 , 4 , 5 } ;


// Fjern innholdet i matrisen

Array. Klar ( tall , 0 , tall. Lengde ) ;

Konsoll. WriteLine ( 'Array etter tømning:' ) ;

til ( int Jeg = 0 ; Jeg < tall. Lengde ; Jeg ++ )

{

Konsoll. Skrive ( tall [ Jeg ] + ' ' ) ;

}

Konsoll. WriteLine ( ) ;

// Kopier innholdet i en annen matrise til nums

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

Array. Kopiere ( numsCopy , tall , numsCopy. Lengde ) ;

Konsoll. WriteLine ( 'Array etter kopiering:' ) ;

til ( int Jeg = 0 ; Jeg < tall. Lengde ; Jeg ++ )

{

Konsoll. Skrive ( tall [ Jeg ] + ' ' ) ;

}

Konsoll. WriteLine ( ) ;

// Få lengden og den lange lengden på matrisen

int lengde = tall. GetLength ( 0 ) ;

lang lang Lengde = tall. GetLongLength ( 0 ) ;

Konsoll. WriteLine ( 'Lengde på matrisen: ' + lengde ) ;

Konsoll. WriteLine ( 'Lang lengde på matrisen: ' + lang Lengde ) ;

// Få nedre og øvre grenser for matrisen

int nedre grense = tall. Get LowerBound ( 0 ) ;

int øvre grense = tall. GetUpperBound ( 0 ) ;

Konsoll. WriteLine ( 'Nedre grense for matrisen: ' + nedre grense ) ;

Konsoll. WriteLine ( 'Øvre grense for matrisen: ' + øvre grense ) ;

// Få verdien ved en bestemt indeks i matrisen

int valueAtIndex = ( int ) tall. GetValue ( 1 ) ;

Konsoll. WriteLine ( 'Verdi ved indeks 1: ' + valueAtIndex ) ;

// Finn indeksen til en bestemt verdi i matrisen

int indexOfValue = Array. Oversikt over ( tall , 9 ) ;

Konsoll. WriteLine ( 'Indeks for verdi 9: ' + indexOfValue ) ;

// Sjekk om matrisen har fast størrelse og skrivebeskyttet

bool isFixedSize = tall. IsFixedSize ;

bool er skrivebeskyttet = tall. Er skrivebeskyttet ;

Konsoll. WriteLine ( 'Er fast størrelse?' + isFixedSize ) ;

Konsoll. WriteLine ( 'Er skrivebeskyttet?' + er skrivebeskyttet ) ;

// Finn den siste indeksen til en bestemt verdi i matrisen

int lastIndexOfValue = Array. LastIndexOf ( tall , 9 ) ;

Konsoll. WriteLine ( 'Siste indeks for verdi 9: ' + lastIndexOfValue ) ;

// Få lengden på matrisen

int lengde igjen = tall. Lengde ;

Konsoll. WriteLine ( 'Lengde på matrisen igjen: ' + lengde igjen ) ;

// Få rangeringen av matrisen

int rang = tall. Rang ;

Konsoll. WriteLine ( 'Rangering av matrisen: ' + rang ) ;

// Endre størrelsen på matrisen

Array. Endre størrelse ( ref numre , 10 ) ;



// Snu innholdet i matrisen

Array. Omvendt ( tall ) ;

Konsoll. WriteLine ( 'Array etter reversering:' ) ;

til ( int Jeg = 0 ; Jeg < tall. Lengde ; Jeg ++ )

{

Konsoll. Skrive ( tall [ Jeg ] + ' ' ) ;

}

Konsoll. WriteLine ( ) ;



// Sorter innholdet i matrisen

Array. Sortere ( tall ) ;

Konsoll. WriteLine ( 'Array etter sortering:' ) ;

til ( int Jeg = 0 ; Jeg < tall. Lengde ; Jeg ++ )

{

Konsoll. Skrive ( tall [ Jeg ] + ' ' ) ;

}

}

}

Produksjon

Konklusjon

System.Array-klassen i C# gir et grunnlag for å arbeide med arrays av alle typer. Enten vi trenger å lage en enkel endimensjonal matrise eller en kompleks flerdimensjonal matrise, gir System.Array-klassen forskjellige metoder for å manipulere og arbeide med data effektivt. For en detaljert beskrivelse av System.Array i C# les artikkelen.