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.