Vad är System.Array i C#

Vad Ar System Array I C



C# stöder användningen av arrayer som en datastruktur, vilket gör att vi kan lagra en samling element av samma typ i en sekventiell ordning av en fast storlek. Alla arrayegenskaper i C# härleds från System.Array klass, som fungerar som basklass för arraytyper.

Eftersom det är en abstrakt basklass är det inte möjligt att skapa en instans av klassen System.Array direkt. Istället kan vi skapa instanser av en av klasserna som härrör från System.Array. Alla arraytyper i C# är baserade på System.Array.

Förutom endimensionella arrayer har C# även flerdimensionella arrayer och taggiga arrayer. En flerdimensionell matris har flera eller större än en dimension. I en taggig array kan varje element vara en array av olika storlekar. Med enkla ord är en taggig array en array av arrayer.







Vad används System.Array Class för

Klassen System.Array tillhandahåller olika metoder och egenskaper för att manipulera arrayer i C#. Dessa metoder tillåter oss att läsa och ändra värdena som lagras i en array, få information om storleken och formen på en array och söka efter element i en array.



Några vanliga metoder inkluderar GetValue(), SetValue(), GetLength() och IndexOf(). De System.Array class låter oss också sortera, söka och manipulera olika arrayer.



Till exempel, för att få arraylängd, Längd egenskap är använd. De Rangera egendom kan returnera totala dimensioner som finns i en array. De GetLength-egenskap ger längden på en specifik dimension i en flerdimensionell matris.





Metoder och egenskaper i System.Array C#

Här är några metoder och egenskaper som används i System.Array C#:

Klar(): Detta är en metod som är tillgänglig för allmänheten och kan nås från vilken del av koden som helst. Denna metod kan ställa in ett visst intervall av element inom en array till nollreferens eller noll.



Kopiera(): Detta är en offentlig delad metod som kan överbelastas och användas för att kopiera en specifik sektion av element från en array till en annan array.

GetLength(): Den returnerar ett 32-bitars heltal som visar det totala antalet element i en viss dimension av en array.

GetLongLength(): Denna metod returnerar ett 64-bitars heltal, vilket ger oss det totala antalet element i en specifik dimension av arrayen.

GetLowerBound(): Denna metod hämtar den nedre gränsen för en viss dimension av arrayen, med start vid index 0.

GetUpperBound(): Denna metod hämtar den övre gränsen för en specificerad dimension av arrayen, med början vid index 0.

GetValue(): Den här metoden hämtar värdet för ett specifikt element i arrayen, med början vid index 1.

Index för(): Detta är en offentlig delad metod som kan överbelastas för att returnera indexet eller offset för den första förekomsten av ett visst värde i en endimensionell array.

IsFixedSize(): Denna metod talar om om en array har en fast storlek eller inte.

IsReadOnly(): Metoden ger ett värde som anger om en array är skrivskyddad eller inte.

LastIndexOf(): Detta är en offentlig delad metod som kan överbelastas. Det ger indexet för den senaste förekomsten av ett värde i en endimensionell matris.

Längd(): Denna metod ger arrays längd. Den är offentlig egendom och matar ut ett 32-bitars heltalsvärde.

Lång längd(): Denna metod berättar för element i alla dimensioner av arrayen. Den returnerar ett 64-bitars heltalsvärde.

Rang(): Denna metod returnerar antalet dimensioner som arrayen har.

Ändra storlek(): Denna metod ändrar storlek på en array till det angivna antalet element.

Omvänd(): Denna metod kan vända elementordningen i en endimensionell array.

Sortera(): Denna metod ordnar element i en endimensionell array i stigande eller fallande ordning beroende på deras värden.

Exempelkod

Koden nedan initierar en array av heltal och visar olika System.Array metoder som kan användas med arrayer i C#. Utdata från varje metod visas separat på konsolen.

använder System ;
klass program
{
statisk tomhet Main ( sträng [ ] args )
{
// Initiera en matris med heltal
int [ ] tal = { 1 , 2 , 3 , 4 , 5 } ;


// Rensa innehållet i arrayen

Array. Klar ( tal , 0 , tal. Längd ) ;

Trösta. Skrivlinje ( 'Array efter rensning:' ) ;

för ( int i = 0 ; i < tal. Längd ; i ++ )

{

Trösta. Skriva ( tal [ i ] + ' ' ) ;

}

Trösta. Skrivlinje ( ) ;

// Kopiera innehållet i en annan array till nums

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

Array. Kopiera ( numsCopy , tal , numsCopy. Längd ) ;

Trösta. Skrivlinje ( 'Array efter kopiering:' ) ;

för ( int i = 0 ; i < tal. Längd ; i ++ )

{

Trösta. Skriva ( tal [ i ] + ' ' ) ;

}

Trösta. Skrivlinje ( ) ;

// Få längden och långa längden på arrayen

int längd = tal. GetLength ( 0 ) ;

lång lång längd = tal. GetLongLength ( 0 ) ;

Trösta. Skrivlinje ( 'Längd på arrayen:' + längd ) ;

Trösta. Skrivlinje ( 'Lång längd på arrayen:' + lång längd ) ;

// Få de nedre och övre gränserna för arrayen

int nedre gränsen = tal. Get LowerBound ( 0 ) ;

int övre gräns = tal. GetUpperBound ( 0 ) ;

Trösta. Skrivlinje ( 'Arrayens nedre gräns:' + nedre gränsen ) ;

Trösta. Skrivlinje ( 'Övre gräns för arrayen: ' + övre gräns ) ;

// Få värdet vid ett specifikt index i arrayen

int värdeAtIndex = ( int ) tal. GetValue ( 1 ) ;

Trösta. Skrivlinje ( 'Värde vid index 1: ' + värdeAtIndex ) ;

// Hitta indexet för ett specifikt värde i arrayen

int indexOfValue = Array. Index för ( tal , 9 ) ;

Trösta. Skrivlinje ( 'Index för värde 9: ' + indexOfValue ) ;

// Kontrollera om arrayen har fast storlek och skrivskyddad

bool isFixedSize = tal. IsFixedSize ;

bool är skrivskyddad = tal. Är Endast läs ;

Trösta. Skrivlinje ( 'Är fast storlek?' + isFixedSize ) ;

Trösta. Skrivlinje ( 'Är skrivskyddad?' + är skrivskyddad ) ;

// Hitta det sista indexet för ett specifikt värde i arrayen

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

Trösta. Skrivlinje ( 'Sista index för värde 9: ' + lastIndexOfValue ) ;

// Få längden på arrayen

int längd igen = tal. Längd ;

Trösta. Skrivlinje ( 'Längd på arrayen igen:' + längd igen ) ;

// Få rangen på arrayen

int rang = tal. Rang ;

Trösta. Skrivlinje ( 'Rank of the array:' + rang ) ;

// Ändra storlek på arrayen

Array. Ändra storlek ( ref nums , 10 ) ;



// Vänd på innehållet i arrayen

Array. Omvänd ( tal ) ;

Trösta. Skrivlinje ( 'Array efter reversering:' ) ;

för ( int i = 0 ; i < tal. Längd ; i ++ )

{

Trösta. Skriva ( tal [ i ] + ' ' ) ;

}

Trösta. Skrivlinje ( ) ;



// Sortera innehållet i arrayen

Array. Sortera ( tal ) ;

Trösta. Skrivlinje ( 'Array efter sortering:' ) ;

för ( int i = 0 ; i < tal. Längd ; i ++ )

{

Trösta. Skriva ( tal [ i ] + ' ' ) ;

}

}

}

Produktion

Slutsats

Klassen System.Array i C# ger en grund för att arbeta med arrayer av alla typer. Oavsett om vi behöver skapa en enkel endimensionell array eller en komplex flerdimensionell array, erbjuder klassen System.Array olika metoder för att manipulera och arbeta med data effektivt. För en detaljerad beskrivning av System.Array i C# läs artikeln.