Kadangi tai yra abstrakti bazinė klasė, tiesiogiai sukurti System.Array klasės egzemplioriaus neįmanoma. Vietoj to galime sukurti vienos iš klasių, gautų iš System.Array, egzempliorius. Visi masyvo tipai C# yra pagrįsti System.Array.
Be vienmačių masyvų, C# taip pat turi daugiamačius masyvus ir dantytas matricas. Daugiamatis masyvas turi kelis arba daugiau nei vieną matmenį. Nelygiame masyve kiekvienas elementas gali būti skirtingų dydžių masyvas. Paprastais žodžiais tariant, dantytas masyvas yra masyvų masyvas.
Kam naudojama System.Array klasė
„System.Array“ klasė suteikia įvairių metodų ir savybių, leidžiančių manipuliuoti masyvais C#. Šie metodai leidžia skaityti ir modifikuoti masyve saugomas reikšmes, gauti informacijos apie masyvo dydį ir formą bei ieškoti masyvo elementų.
Kai kurie įprasti metodai yra GetValue(), SetValue(), GetLength() ir IndexOf(). The Sistema.Masyvas klasė taip pat leidžia rūšiuoti, ieškoti ir valdyti skirtingus masyvus.
Pavyzdžiui, norėdami gauti masyvo ilgį, Ilgio turtas yra naudojamas. The Įvertinkite nuosavybę gali grąžinti visus masyve esančius matmenis. The „GetLength“ nuosavybė pateikia konkretaus matmens ilgį daugiamačiame masyve.
Metodai ir savybės System.Array C#
Štai keli metodai ir savybės, naudojamos System.Array C#:
Išvalyti (): Tai yra viešai prieinamas metodas, kurį galima pasiekti iš bet kurios kodo dalies. Šis metodas gali nustatyti tam tikrą masyvo elementų diapazoną į nulinę nuorodą arba nulį.
Kopijuoti (): Tai yra viešas bendrinamas metodas, kurį galima perkrauti ir naudoti norint nukopijuoti konkrečią elementų sekciją iš vieno masyvo į kitą.
GetLength (): Jis grąžina 32 bitų sveikąjį skaičių, rodantį bendrą elementų skaičių tam tikrame masyvo matmenyje.
GetLongLength(): Šis metodas grąžina 64 bitų sveikąjį skaičių, kuris suteikia mums bendrą elementų skaičių konkrečiame masyvo matmenyje.
Get LowerBound (): Šis metodas nuskaito tam tikro masyvo matmens apatinę ribą, pradedant nuo indekso 0.
GetUpperBound(): Šis metodas nuskaito viršutinę nurodyto masyvo matmens ribą, pradedant nuo indekso 0.
GautiValue(): Šis metodas nuskaito konkretaus masyvo elemento reikšmę, pradedant nuo 1 indekso.
IndexOf(): Tai yra viešas bendrinamas metodas, kurį galima perkrauti, kad būtų grąžintas indeksas arba poslinkis, kai pirmą kartą atsiranda tam tikros reikšmės vienmačio masyvo.
IsFixedSize(): Šis metodas nurodo, ar masyvo dydis yra fiksuotas, ar ne.
IsReadOnly(): Metodas suteikia reikšmę, kuri nurodo, ar masyvas yra tik skaitomas, ar ne.
LastIndexOf(): Tai viešas bendrinamas metodas, kurį galima perkrauti. Tai rodo paskutinio vienmačio masyvo reikšmės pasireiškimo indeksą.
Ilgis (): Šis metodas suteikia masyvų ilgį. Tai yra viešoji nuosavybė ir išveda 32 bitų sveikojo skaičiaus reikšmę.
LongLength (): Šis metodas nurodo elementus visuose masyvo matmenyse. Jis grąžina 64 bitų sveikojo skaičiaus reikšmę.
Reitingas (): Šis metodas grąžina masyvo matmenų skaičių.
Keisti dydį (): Šis metodas pakeičia masyvo dydį iki nurodyto elementų skaičiaus.
Atvirkščiai (): Šis metodas gali pakeisti elementų tvarką vieno matmens masyve.
Rūšiuoti (): Šis metodas sutvarko elementus į vienmatį masyvą didėjančia arba mažėjančia tvarka, atsižvelgiant į jų reikšmes.
Kodo pavyzdys
Žemiau pateiktas kodas inicijuoja sveikųjų skaičių masyvą ir parodo įvairius Sistema.Masyvas metodai, kuriuos galima naudoti su masyvais C#. Kiekvieno metodo išvestis konsolėje rodoma atskirai.
naudojant Sistemą ;klasės programa
{
statinis tuštuma Pagrindinis ( styga [ ] args )
{
// Inicijuoti sveikųjų skaičių masyvą
tarpt [ ] numeriai = { 1 , 2 , 3 , 4 , 5 } ;
// Išvalykite masyvo turinį
Masyvas. Aišku ( numeriai , 0 , numeriai. Ilgis ) ;
Konsolė. WriteLine ( 'Masyvas po išvalymo:' ) ;
dėl ( tarpt i = 0 ; i < numeriai. Ilgis ; i ++ )
{
Konsolė. Rašyti ( numeriai [ i ] + ' ' ) ;
}
Konsolė. WriteLine ( ) ;
// Nukopijuokite kito masyvo turinį į numerius
tarpt [ ] numsCopy = { 7 , 8 , 9 } ;
Masyvas. Kopijuoti ( numsCopy , numeriai , numsCopy. Ilgis ) ;
Konsolė. WriteLine ( 'Masyvas po kopijavimo:' ) ;
dėl ( tarpt i = 0 ; i < numeriai. Ilgis ; i ++ )
{
Konsolė. Rašyti ( numeriai [ i ] + ' ' ) ;
}
Konsolė. WriteLine ( ) ;
// Gaukite masyvo ilgį ir ilgį
tarpt ilgio = numeriai. GetLength ( 0 ) ;
ilgai ilgasIlgis = numeriai. GetLongLength ( 0 ) ;
Konsolė. WriteLine ( 'Masyvo ilgis:' + ilgio ) ;
Konsolė. WriteLine ( 'Ilgas masyvo ilgis:' + ilgasIlgis ) ;
// Gaukite apatinę ir viršutinę masyvo ribas
tarpt apatinė riba = numeriai. GetLowerBound ( 0 ) ;
tarpt viršutinė riba = numeriai. GetUpperBound ( 0 ) ;
Konsolė. WriteLine ( 'Apatinė masyvo riba:' + apatinė riba ) ;
Konsolė. WriteLine ( Viršutinė masyvo riba: + viršutinė riba ) ;
// Gaukite reikšmę konkrečiame masyvo indekse
tarpt valueAtIndex = ( tarpt ) numeriai. GetValue ( 1 ) ;
Konsolė. WriteLine ( „1 indekso vertė:“ + valueAtIndex ) ;
// Raskite konkrečios reikšmės indeksą masyve
tarpt indexOfValue = Masyvas. IndexOf ( numeriai , 9 ) ;
Konsolė. WriteLine ( '9 vertės indeksas: ' + indexOfValue ) ;
// Patikrinkite, ar masyvas yra fiksuoto dydžio ir tik skaitomas
bool isFixedSize = numeriai. IsFixedSize ;
bool isReadOnly = numeriai. IsReadOnly ;
Konsolė. WriteLine ( 'Ar fiksuotas dydis?' + isFiksuotas dydis ) ;
Konsolė. WriteLine ( 'Ar tik skaitomas?' + yra Tik skaitomas ) ;
// Raskite paskutinį konkrečios reikšmės indeksą masyve
tarpt lastIndexOfValue = Masyvas. LastIndexOf ( numeriai , 9 ) ;
Konsolė. WriteLine ( 'Paskutinis 9 vertės indeksas: ' + lastIndexOfValue ) ;
// Gaukite masyvo ilgį
tarpt vėl ilgis = numeriai. Ilgis ;
Konsolė. WriteLine ( „Vėl masyvo ilgis:“ + vėl ilgis ) ;
// Gaukite masyvo rangą
tarpt rangas = numeriai. Reitingas ;
Konsolė. WriteLine ( 'Masyvo reitingas: ' + rangas ) ;
// Pakeiskite masyvo dydį
Masyvas. Pakeisti dydį ( nuorodų numeriai , 10 ) ;
// Apverskite masyvo turinį
Masyvas. Atvirkščiai ( numeriai ) ;
Konsolė. WriteLine ( 'Masyvas po atbulinės eigos:' ) ;
dėl ( tarpt i = 0 ; i < numeriai. Ilgis ; i ++ )
{
Konsolė. Rašyti ( numeriai [ i ] + ' ' ) ;
}
Konsolė. WriteLine ( ) ;
// Rūšiuoti masyvo turinį
Masyvas. Rūšiuoti ( numeriai ) ;
Konsolė. WriteLine ( 'Masyvas po rūšiavimo:' ) ;
dėl ( tarpt i = 0 ; i < numeriai. Ilgis ; i ++ )
{
Konsolė. Rašyti ( numeriai [ i ] + ' ' ) ;
}
}
}
Išvestis
Išvada
System.Array klasė C# suteikia pagrindą darbui su visų tipų masyvais. Nesvarbu, ar mums reikia sukurti paprastą vienmatį masyvą, ar sudėtingą daugiamatį masyvą, „System.Array“ klasėje pateikiami įvairūs metodai, leidžiantys efektyviai manipuliuoti ir dirbti su duomenimis. Išsamų System.Array aprašymą C# skaitykite straipsnyje.