Wat is System.Array in C#

Wat Is System Array In C



C# ondersteunt het gebruik van arrays als datastructuur, waardoor we een verzameling elementen van hetzelfde type kunnen opslaan in een sequentiële volgorde van een vaste grootte. Alle array-eigenschappen in C# zijn afgeleid van de Systeem.Array klasse, die dient als de basisklasse voor arraytypen.

Aangezien het een abstracte basisklasse is, is het niet mogelijk om rechtstreeks een instantie van de klasse System.Array te maken. In plaats daarvan kunnen we instanties maken van een van de klassen die zijn afgeleid van System.Array. Alle arraytypen in C# zijn gebaseerd op System.Array.

Naast enkeldimensionale arrays heeft C# ook multidimensionale arrays en gekartelde arrays. Een multidimensionale array heeft meerdere of meer dan één dimensie. In een gekartelde array kan elk element een array van verschillende groottes zijn. Simpel gezegd, een gekartelde array is een array van arrays.







Waar wordt System.Array-klasse voor gebruikt

De klasse System.Array biedt verschillende methoden en eigenschappen om arrays in C# te manipuleren. Met deze methoden kunnen we de waarden die in een array zijn opgeslagen lezen en wijzigen, informatie krijgen over de grootte en vorm van een array en zoeken naar elementen in een array.



Enkele veelgebruikte methoden zijn GetValue(), SetValue(), GetLength() en IndexOf(). De Systeem.Array class stelt ons ook in staat om verschillende arrays te sorteren, doorzoeken en manipuleren.



Om bijvoorbeeld de lengte van de array te krijgen, moet de Lengte eigenschap is gebruikt. De Rang eigendom kan totale dimensies in een array retourneren. De GetLength-eigenschap geeft de lengte van een specifieke dimensie in een multidimensionale array.





Methoden en eigenschappen in System.Array C#

Hier zijn enkele methoden en eigenschappen die worden gebruikt in System.Array C#:

Duidelijk(): Dit is een methode die beschikbaar is voor het publiek en toegankelijk is vanuit elk deel van de code. Deze methode kan een bepaald bereik van elementen binnen een array instellen op nulreferentie of nul.



Kopiëren(): Dit is een openbaar gedeelde methode die kan worden overbelast en gebruikt om een ​​specifiek gedeelte van elementen van de ene array naar de andere array te kopiëren.

GetLengte(): Het retourneert een 32-bits geheel getal dat het totale aantal elementen in een bepaalde dimensie van een array weergeeft.

GetLongLength(): Deze methode retourneert een 64-bits geheel getal, dat ons het totale aantal elementen in een specifieke dimensie van de array geeft.

GetLowerBound(): Deze methode haalt de ondergrens van een bepaalde dimensie van de array op, beginnend bij index 0.

GetUpperBound(): Deze methode haalt de bovengrens van een opgegeven dimensie van de array op, beginnend bij index 0.

Waarde ophalen(): Deze methode haalt de waarde op van een specifiek element in de array, beginnend bij index 1.

Index van(): Dit is een openbaar gedeelde methode die kan worden overbelast om de index of offset te retourneren van de eerste keer dat een bepaalde waarde voorkomt in een eendimensionale array.

IsFixedSize(): Deze methode vertelt of een array een vaste grootte heeft of niet.

IsReadOnly(): De methode geeft een waarde die aangeeft of een array alleen-lezen is of niet.

LaatsteIndexVan(): Dit is een openbaar gedeelde methode die kan worden overbelast. Het geeft de index van het laatste voorkomen van een waarde in een eendimensionale array.

Lengte(): Deze methode geeft arrays lengte. Het is openbaar eigendom en geeft een 32-bits geheel getal af.

Lange lengte(): Deze methode vertelt elementen in alle dimensies van de array. Het retourneert een 64-bits geheel getal.

Rang(): Deze methode retourneert het aantal dimensies dat de array heeft.

Formaat wijzigen(): Met deze methode wordt de grootte van een array aangepast aan het opgegeven aantal elementen.

Achteruit(): Deze methode kan de elementvolgorde in een eendimensionale array omkeren.

Soort(): Deze methode rangschikt elementen in een eendimensionale array in oplopende of aflopende volgorde, afhankelijk van hun waarden.

Voorbeeldcode

De onderstaande code initialiseert een reeks gehele getallen en demonstreert verschillende Systeem.Array methoden die kunnen worden gebruikt met arrays in C#. De uitvoer van elke methode wordt afzonderlijk weergegeven op de console.

systeem gebruiken ;
klasse programma
{
statisch leegte Voornaamst ( snaar [ ] argumenten )
{
// Initialiseer een reeks gehele getallen
int [ ] nummers = { 1 , 2 , 3 , 4 , 5 } ;


// Wis de inhoud van de array

matrix. Duidelijk ( nummers , 0 , nummers. Lengte ) ;

Troosten. Schrijf lijn ( 'Matrix na wissen:' ) ;

voor ( int i = 0 ; i < nummers. Lengte ; i ++ )

{

Troosten. Schrijven ( nummers [ i ] + ' ' ) ;

}

Troosten. Schrijf lijn ( ) ;

// Kopieer de inhoud van een andere array naar getallen

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

matrix. Kopiëren ( numsKopie , nummers , numsKopie. Lengte ) ;

Troosten. Schrijf lijn ( 'Matrix na kopiëren:' ) ;

voor ( int i = 0 ; i < nummers. Lengte ; i ++ )

{

Troosten. Schrijven ( nummers [ i ] + ' ' ) ;

}

Troosten. Schrijf lijn ( ) ;

// Haal de lengte en lange lengte van de array op

int lengte = nummers. GetLengte ( 0 ) ;

lang lange lengte = nummers. GetLongLength ( 0 ) ;

Troosten. Schrijf lijn ( 'Lengte van de array: ' + lengte ) ;

Troosten. Schrijf lijn ( 'Lange lengte van de array: ' + lange lengte ) ;

// Haal de onder- en bovengrenzen van de array op

int ondergrens = nummers. GetLowerBound ( 0 ) ;

int bovengrens = nummers. GetUpperBound ( 0 ) ;

Troosten. Schrijf lijn ( 'Ondergrens van de array: ' + ondergrens ) ;

Troosten. Schrijf lijn ( 'Bovengrens van de array: ' + bovengrens ) ;

// Haal de waarde op bij een specifieke index in de array

int waardeAtIndex = ( int ) nummers. Waarde ophalen ( 1 ) ;

Troosten. Schrijf lijn ( 'Waarde bij index 1: ' + waardeAtIndex ) ;

// Zoek de index van een specifieke waarde in de array

int indexVanWaarde = matrix. Index van ( nummers , 9 ) ;

Troosten. Schrijf lijn ( 'Index van waarde 9: ' + indexVanWaarde ) ;

// Controleer of de array een vaste grootte heeft en alleen-lezen is

bool isFixedSize = nummers. IsFixedSize ;

bool isReadOnly = nummers. IsReadOnly ;

Troosten. Schrijf lijn ( 'Is een vaste maat?' + isFixedSize ) ;

Troosten. Schrijf lijn ( 'Is alleen-lezen?' + isReadOnly ) ;

// Zoek de laatste index van een specifieke waarde in de array

int lastIndexOfValue = matrix. LastIndexOf ( nummers , 9 ) ;

Troosten. Schrijf lijn ( 'Laatste index van waarde 9: ' + lastIndexOfValue ) ;

// Haal de lengte van de array op

int lengteNogmaals = nummers. Lengte ;

Troosten. Schrijf lijn ( 'Lengte van de array opnieuw: ' + lengteNogmaals ) ;

// Haal de rang van de array op

int rang = nummers. Rang ;

Troosten. Schrijf lijn ( 'Rang van de reeks: ' + rang ) ;

// Pas de grootte van de array aan

matrix. Formaat wijzigen ( ref. nummers , 10 ) ;



// Keer de inhoud van de array om

matrix. Achteruit ( nummers ) ;

Troosten. Schrijf lijn ( 'Matrix na omkering:' ) ;

voor ( int i = 0 ; i < nummers. Lengte ; i ++ )

{

Troosten. Schrijven ( nummers [ i ] + ' ' ) ;

}

Troosten. Schrijf lijn ( ) ;



// Sorteer de inhoud van de array

matrix. Soort ( nummers ) ;

Troosten. Schrijf lijn ( 'Matrix na sorteren:' ) ;

voor ( int i = 0 ; i < nummers. Lengte ; i ++ )

{

Troosten. Schrijven ( nummers [ i ] + ' ' ) ;

}

}

}

Uitgang

Conclusie

De klasse System.Array in C# biedt een basis voor het werken met alle soorten arrays. Of we nu een eenvoudige eendimensionale array of een complexe multidimensionale array moeten maken, de klasse System.Array biedt verschillende methoden om gegevens effectief te manipuleren en ermee te werken. Lees het artikel voor een gedetailleerde beschrijving van System.Array in C#.