Mi a System.Array a C#-ban

Mi A System Array A C Ban



A C# támogatja a tömbök adatstruktúraként történő használatát, ami lehetővé teszi, hogy azonos típusú elemekből álló gyűjteményt tároljunk fix méretű sorrendben. A C# összes tömbtulajdonsága a System.Array osztály, amely a tömbtípusok alaposztályaként szolgál.

Mivel ez egy absztrakt alaposztály, a System.Array osztály példányának közvetlen létrehozása nem lehetséges. Ehelyett létrehozhatunk példányokat a System.Array-ből származó osztályok egyikéből. A C#-ban minden tömbtípus a System.Array-n alapul.

Az egydimenziós tömbök mellett a C# többdimenziós tömböket és szaggatott tömböket is tartalmaz. Egy többdimenziós tömbnek több vagy több dimenziója van. Egy szaggatott tömbben minden elem különböző méretű tömb lehet. Egyszerűen fogalmazva, a szaggatott tömb tömbök tömbje.







Mire használható a System.Array osztály?

A System.Array osztály különféle módszereket és tulajdonságokat biztosít a tömbök C# nyelven történő kezeléséhez. Ezek a módszerek lehetővé teszik számunkra, hogy beolvassuk és módosítsuk a tömbben tárolt értékeket, információt kapjunk a tömb méretéről és alakjáról, és keressük a tömbben lévő elemeket.



Néhány gyakori metódus a GetValue(), a SetValue(), a GetLength() és az IndexOf(). A System.Array osztály lehetővé teszi a különböző tömbök rendezését, keresését és kezelését is.



Például a tömb hosszának meghatározásához a Hossz tulajdonság használt. A Rangsor tulajdonság visszaadhatja a tömbben lévő összes dimenziót. A GetLength tulajdonság egy többdimenziós tömb egy adott dimenziójának hosszát adja meg.





A System.Array C# módszerei és tulajdonságai

Íme néhány módszer és tulajdonság a System.Array C#-ban:

Egyértelmű(): Ez egy nyilvános módszer, amely a kód bármely részéből elérhető. Ezzel a módszerrel egy tömb elemeinek egy adott tartományát null referencia értékre vagy nullára állíthatja.



Másolat(): Ez egy nyilvános megosztott módszer, amely túlterhelhető, és az elemek egy meghatározott szakaszának átmásolására használható egyik tömbből egy másik tömbbe.

GetLength(): Egy 32 bites egész számot ad vissza, amely az összes elemet mutatja egy tömb egy adott dimenziójában.

GetLongLength(): Ez a metódus egy 64 bites egész számot ad vissza, amely megadja a tömb egy adott dimenziójában az összes elemet.

GetLowerBound(): Ez a módszer lekéri a tömb egy adott dimenziójának alsó korlátját, a 0 indextől kezdve.

GetUpperBound(): Ez a módszer lekéri a tömb egy meghatározott dimenziójának felső korlátját, a 0 indextől kezdve.

GetValue(): Ez a módszer a tömb egy adott elemének értékét kéri le, az 1. indextől kezdve.

Indexe(): Ez egy nyilvánosan megosztott metódus, amely túlterhelhető, hogy egy egydimenziós tömbben egy adott érték első előfordulásának indexét vagy eltolását adja vissza.

FixedSize(): Ez a módszer megmondja, hogy egy tömbnek van-e rögzített mérete vagy sem.

IsReadOnly(): A metódus egy értéket ad, amely jelzi, hogy egy tömb csak olvasható-e vagy sem.

LastIndexOf(): Ez egy nyilvánosan megosztott módszer, amely túlterhelhető. Egy egydimenziós tömbben lévő érték utolsó előfordulásának indexét adja meg.

Hossz(): Ez a módszer megadja a tömbök hosszát. Nyilvános tulajdon, és 32 bites egész értéket ad ki.

LongLength(): Ez a módszer a tömb minden dimenziójában elmondja az elemeket. 64 bites egész értéket ad vissza.

Rang(): Ez a módszer a tömb dimenzióinak számát adja vissza.

Átméretezés(): Ez a módszer átméretez egy tömböt a megadott számú elemre.

Fordított(): Ezzel a módszerrel megfordítható az elemek sorrendje egy egydimenziós tömbben.

Fajta(): Ez a módszer az elemeket egydimenziós tömbbe rendezi növekvő vagy csökkenő sorrendbe az értéküktől függően.

Példakód

Az alábbi kód egész számok tömbjét inicializálja, és különféle változatokat mutat be System.Array metódusok, amelyek a C# tömbjeivel használhatók. Az egyes módszerek kimenete külön jelenik meg a konzolon.

rendszer segítségével ;
osztály Programja
{
statikus üres ( húr [ ] args )
{
// Egész számokból álló tömb inicializálása
int [ ] számok = { 1 , 2 , 3 , 4 , 5 } ;


// Törölje a tömb tartalmát

Sor. Egyértelmű ( számok , 0 , számok. Hossz ) ;

Konzol. WriteLine ( 'Tömb törlés után:' ) ;

számára ( int én = 0 ; én < számok. Hossz ; én ++ )

{

Konzol. Ír ( számok [ én ] + ' ' ) ;

}

Konzol. WriteLine ( ) ;

// Egy másik tömb tartalmának másolása számokba

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

Sor. Másolat ( numsCopy , számok , numsCopy. Hossz ) ;

Konzol. WriteLine ( 'Tömb másolás után:' ) ;

számára ( int én = 0 ; én < számok. Hossz ; én ++ )

{

Konzol. Ír ( számok [ én ] + ' ' ) ;

}

Konzol. WriteLine ( ) ;

// A tömb hosszának és hosszúságának lekérése

int hossz = számok. GetLength ( 0 ) ;

hosszú longLength = számok. GetLongLength ( 0 ) ;

Konzol. WriteLine ( 'A tömb hossza:' + hossz ) ;

Konzol. WriteLine ( 'A tömb hosszú hossza:' + longLength ) ;

// A tömb alsó és felső határának lekérése

int alsó határ = számok. GetLowerBound ( 0 ) ;

int felső határ = számok. GetUpperBound ( 0 ) ;

Konzol. WriteLine ( 'A tömb alsó határa:' + alsó határ ) ;

Konzol. WriteLine ( 'A tömb felső határa:' + felső határ ) ;

// Az érték lekérése a tömb egy adott indexénél

int valueAtIndex = ( int ) számok. GetValue ( 1 ) ;

Konzol. WriteLine ( 'Érték az 1-es indexnél:' + valueAtIndex ) ;

// Keresse meg egy adott érték indexét a tömbben

int indexOfValue = Sor. Indexe ( számok , 9 ) ;

Konzol. WriteLine ( '9-es érték indexe: ' + indexOfValue ) ;

// Ellenőrizze, hogy a tömb rögzített méretű és csak olvasható-e

bool isFixedSize = számok. FixedSize ;

bool is ReadOnly = számok. IsReadOnly ;

Konzol. WriteLine ( 'Rögzített méret?' + isFixedSize ) ;

Konzol. WriteLine ( – Csak olvasható? + csak olvasható ) ;

// Egy adott érték utolsó indexének megkeresése a tömbben

int lastIndexOfValue = Sor. LastIndexOf ( számok , 9 ) ;

Konzol. WriteLine ( 'A 9-es érték utolsó indexe: ' + lastIndexOfValue ) ;

// A tömb hosszának lekérése

int hossz ismét = számok. Hossz ;

Konzol. WriteLine ( 'A tömb hossza ismét:' + hossz ismét ) ;

// Szerezd meg a tömb rangját

int rang = számok. Rang ;

Konzol. WriteLine ( 'A tömb rangja:' + rang ) ;

// A tömb átméretezése

Sor. Átméretezés ( ref számok , 10 ) ;



// Megfordítja a tömb tartalmát

Sor. Fordított ( számok ) ;

Konzol. WriteLine ( 'Tömb tolatás után:' ) ;

számára ( int én = 0 ; én < számok. Hossz ; én ++ )

{

Konzol. Ír ( számok [ én ] + ' ' ) ;

}

Konzol. WriteLine ( ) ;



// Rendezze a tömb tartalmát

Sor. Fajta ( számok ) ;

Konzol. WriteLine ( 'Tömb rendezés után:' ) ;

számára ( int én = 0 ; én < számok. Hossz ; én ++ )

{

Konzol. Ír ( számok [ én ] + ' ' ) ;

}

}

}

Kimenet

Következtetés

A System.Array osztály a C# nyelvben alapot biztosít minden típusú tömbökkel való munkavégzéshez. Akár egyszerű egydimenziós tömböt, akár összetett többdimenziós tömböt kell létrehoznunk, a System.Array osztály különböző módszereket kínál az adatok hatékony kezelésére és kezelésére. A System.Array részletes leírásáért C# nyelven olvassa el a cikket.