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 Fő ( 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.