Hvad er System.Array i C#

Hvad Er System Array I C



C# understøtter brugen af ​​arrays som en datastruktur, hvilket gør os i stand til at gemme en samling af elementer af samme type i en sekventiel rækkefølge af en fast størrelse. Alle array-egenskaber i C# er afledt af System.Array klasse, der fungerer som basisklassen for matrixtyper.

Da det er en abstrakt basisklasse, er det ikke muligt at oprette en forekomst af System.Array-klassen direkte. I stedet kan vi oprette forekomster af en af ​​klasserne afledt af System.Array. Alle array-typer i C# er baseret på System.Array.

Ud over enkeltdimensionelle arrays har C# også multidimensionelle arrays og takkede arrays. Et flerdimensionelt array har flere eller større end én dimension. I et takket array kan hvert element være et array af forskellige størrelser. Med enkle ord er et takket array en række arrays.







Hvad bruges System.Array Class til

System.Array-klassen giver forskellige metoder og egenskaber til at manipulere arrays i C#. Disse metoder giver os mulighed for at læse og ændre de værdier, der er gemt i et array, få information om størrelsen og formen af ​​et array og søge efter elementer i et array.



Nogle almindelige metoder omfatter GetValue(), SetValue(), GetLength() og IndexOf(). Det System.Array klasse giver os også mulighed for at sortere, søge og manipulere forskellige arrays.



For at få arraylængde, f.eks Længde ejendom anvendes. Det Ranger ejendom kan returnere samlede dimensioner til stede i et array. Det GetLength ejendom angiver længden af ​​en specifik dimension i et multidimensionelt array.





Metoder og egenskaber i System.Array C#

Her er et par metoder og egenskaber, der bruges i System.Array C#:

Klar(): Dette er en metode, der er tilgængelig for offentligheden og kan tilgås fra enhver del af koden. Denne metode kan indstille et bestemt område af elementer i et array til nul reference eller nul.



Kopi(): Dette er en offentlig delt metode, der kan overbelastes og bruges til at kopiere en specifik sektion af elementer fra et array til et andet array.

GetLength(): Det returnerer et 32-bit heltal, der viser samlede elementer i en bestemt dimension af et array.

GetLongLength(): Denne metode returnerer et 64-bit heltal, som giver os det samlede antal elementer i en specifik dimension af arrayet.

GetLowerBound(): Denne metode henter den nedre grænse for en bestemt dimension af arrayet, startende ved indeks 0.

GetUpperBound(): Denne metode henter den øvre grænse for en specificeret dimension af arrayet, startende ved indeks 0.

GetValue(): Denne metode henter værdien af ​​et specifikt element i arrayet, startende ved indeks 1.

Indeks af(): Dette er en offentlig delt metode, der kan overbelastes for at returnere indekset eller forskydningen af ​​den første forekomst af en bestemt værdi i et endimensionelt array.

IsFixedSize(): Denne metode fortæller, om et array har en fast størrelse eller ej.

IsReadOnly(): Metoden giver en værdi, der angiver, om et array er skrivebeskyttet eller ej.

LastIndexOf(): Dette er en offentlig delt metode, der kan overbelastes. Det giver indekset for den sidste forekomst af en værdi i et endimensionelt array.

Længde(): Denne metode giver arrays længde. Det er offentlig ejendom og udsender en 32-bit heltalsværdi.

LongLength(): Denne metode fortæller elementer i alle dimensioner af arrayet. Det returnerer en 64-bit heltalsværdi.

Rang(): Denne metode returnerer antallet af dimensioner, som arrayet har.

Ændre størrelse(): Denne metode ændrer størrelsen på et array til det angivne antal elementer.

Baglæns(): Denne metode kan vende elementrækkefølgen i et enkeltdimensionelt array.

Sortere(): Denne metode arrangerer elementer i et endimensionelt array i stigende eller faldende rækkefølge afhængigt af deres værdier.

Eksempel kode

Nedenstående kode initialiserer en række heltal og demonstrerer forskellige System.Array metoder, der kan bruges med arrays i C#. Outputtet for hver metode vises separat på konsollen.

ved hjælp af System ;
klasses program
{
statisk ugyldig Hoved ( snor [ ] args )
{
// Initialiser en matrix af heltal
int [ ] tal = { 1 , 2 , 3 , 4 , 5 } ;


// Ryd indholdet af arrayet

Array. Klar ( tal , 0 , tal. Længde ) ;

Konsol. WriteLine ( 'Array efter rydning:' ) ;

til ( int jeg = 0 ; jeg < tal. Længde ; jeg ++ )

{

Konsol. Skrive ( tal [ jeg ] + ' ' ) ;

}

Konsol. WriteLine ( ) ;

// Kopier indholdet af et andet array til nums

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

Array. Kopi ( numsCopy , tal , numsCopy. Længde ) ;

Konsol. WriteLine ( 'Array efter kopiering:' ) ;

til ( int jeg = 0 ; jeg < tal. Længde ; jeg ++ )

{

Konsol. Skrive ( tal [ jeg ] + ' ' ) ;

}

Konsol. WriteLine ( ) ;

// Få længden og den lange længde af arrayet

int længde = tal. GetLength ( 0 ) ;

lang lang Længde = tal. GetLongLength ( 0 ) ;

Konsol. WriteLine ( 'Længde af array:' + længde ) ;

Konsol. WriteLine ( 'Lang længde af arrayet:' + lang Længde ) ;

// Få de nedre og øvre grænser for arrayet

int nedre grænse = tal. Get LowerBound ( 0 ) ;

int øvre grænse = tal. GetUpperBound ( 0 ) ;

Konsol. WriteLine ( 'Arrayets nedre grænse:' + nedre grænse ) ;

Konsol. WriteLine ( 'Øvre grænse for arrayet:' + øvre grænse ) ;

// Få værdien ved et bestemt indeks i arrayet

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

Konsol. WriteLine ( 'Værdi ved indeks 1: ' + valueAtIndex ) ;

// Find indekset for en bestemt værdi i arrayet

int indexOfValue = Array. Indeks af ( tal , 9 ) ;

Konsol. WriteLine ( 'Indeks for værdi 9: ' + indexOfValue ) ;

// Tjek, om arrayet har fast størrelse og skrivebeskyttet

bool isFixedSize = tal. IsFixedSize ;

bool er skrivebeskyttet = tal. Er skrivebeskyttet ;

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

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

// Find det sidste indeks for en bestemt værdi i arrayet

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

Konsol. WriteLine ( 'Sidste indeks for værdi 9: ' + lastIndexOfValue ) ;

// Få længden af ​​arrayet

int længde igen = tal. Længde ;

Konsol. WriteLine ( 'Længde af array igen: ' + længde igen ) ;

// Få rangeringen af ​​arrayet

int rang = tal. Rang ;

Konsol. WriteLine ( 'Rang af array:' + rang ) ;

// Ændr størrelsen på arrayet

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



// Vend indholdet af arrayet om

Array. Baglæns ( tal ) ;

Konsol. WriteLine ( 'Array efter reversering:' ) ;

til ( int jeg = 0 ; jeg < tal. Længde ; jeg ++ )

{

Konsol. Skrive ( tal [ jeg ] + ' ' ) ;

}

Konsol. WriteLine ( ) ;



// Sorter indholdet af arrayet

Array. Sortere ( tal ) ;

Konsol. WriteLine ( 'Array efter sortering:' ) ;

til ( int jeg = 0 ; jeg < tal. Længde ; jeg ++ )

{

Konsol. Skrive ( tal [ jeg ] + ' ' ) ;

}

}

}

Produktion

Konklusion

System.Array-klassen i C# giver et grundlag for at arbejde med arrays af alle typer. Uanset om vi skal skabe et simpelt endimensionelt array eller et komplekst multidimensionelt array, giver System.Array-klassen forskellige metoder til at manipulere og arbejde med data effektivt. For en detaljeret beskrivelse af System.Array i C# læs artiklen.