Protože se jedná o abstraktní základní třídu, není možné přímo vytvořit instanci třídy System.Array. Místo toho můžeme vytvořit instance jedné z tříd odvozených z System.Array. Všechny typy polí v C# jsou založeny na System.Array.
Kromě jednorozměrných polí má C# také vícerozměrná pole a zubatá pole. Vícerozměrné pole má více nebo větší než jeden rozměr. V zubatém poli může být každý prvek polem různých velikostí. Jednoduše řečeno, zubaté pole je pole polí.
K čemu se používá třída System.Array
Třída System.Array poskytuje různé metody a vlastnosti pro manipulaci s poli v C#. Tyto metody nám umožňují číst a upravovat hodnoty uložené v poli, získávat informace o velikosti a tvaru pole a vyhledávat prvky v poli.
Některé běžné metody zahrnují GetValue(), SetValue(), GetLength() a IndexOf(). The System.Array class nám také umožňuje třídit, vyhledávat a manipulovat s různými poli.
Chcete-li například získat délku pole, Vlastnost délky se používá. The Hodnost majetku může vrátit celkové rozměry přítomné v poli. The Vlastnost GetLength udává délku konkrétního rozměru ve vícerozměrném poli.
Metody a vlastnosti v System.Array C#
Zde je několik metod a vlastností používaných v System.Array C#:
Průhledná(): Jedná se o metodu, která je dostupná veřejnosti a je přístupná z jakékoli části kódu. Tato metoda může nastavit určitý rozsah prvků v poli na nulovou referenci nebo nulu.
Kopírovat(): Toto je veřejná sdílená metoda, kterou lze přetížit a použít ke kopírování konkrétní části prvků z jednoho pole do jiného pole.
GetLength(): Vrací 32bitové celé číslo, které ukazuje celkový počet prvků v určité dimenzi pole.
GetLongLength(): Tato metoda vrací 64bitové celé číslo, které nám dává celkový počet prvků v konkrétní dimenzi pole.
GetLowerBound(): Tato metoda načte spodní hranici konkrétní dimenze pole, počínaje indexem 0.
GetUpperBound(): Tato metoda načte horní hranici zadaného rozměru pole, počínaje indexem 0.
GetValue(): Tato metoda načte hodnotu konkrétního prvku v poli počínaje indexem 1.
IndexOf(): Toto je veřejná sdílená metoda, která může být přetížena, aby vrátila index nebo offset prvního výskytu konkrétní hodnoty v jednorozměrném poli.
IsFixedSize(): Tato metoda říká, zda má pole pevnou velikost nebo ne.
IsReadOnly(): Metoda poskytuje hodnotu, která označuje, zda je pole pouze pro čtení nebo ne.
LastIndexOf(): Toto je veřejná sdílená metoda, která může být přetížena. Udává index posledního výskytu hodnoty v jednorozměrném poli.
Délka(): Tato metoda udává délku pole. Je to veřejný majetek a na výstupu je 32bitová celočíselná hodnota.
LongLength(): Tato metoda sděluje prvky ve všech rozměrech pole. Vrací 64bitovou celočíselnou hodnotu.
Hodnost(): Tato metoda vrátí počet dimenzí, které má pole.
Změnit velikost(): Tato metoda změní velikost pole na zadaný počet prvků.
Zvrátit(): Tato metoda může obrátit pořadí prvků v jednorozměrném poli.
Seřadit(): Tato metoda uspořádá prvky v jednorozměrném poli ve vzestupném nebo sestupném pořadí v závislosti na jejich hodnotách.
Příklad kódu
Níže uvedený kód inicializuje pole celých čísel a ukazuje různé System.Array metody, které lze použít s poli v C#. Výstup každé metody je zobrazen samostatně na konzole.
pomocí System ;třídní program
{
statický prázdnota Hlavní ( tětiva [ ] argumenty )
{
// Inicializuje pole celých čísel
int [ ] čísla = { 1 , 2 , 3 , 4 , 5 } ;
// Vymaže obsah pole
Pole. Průhledná ( čísla , 0 , čísla. Délka ) ;
Řídicí panel. WriteLine ( 'Pole po vyčištění:' ) ;
pro ( int i = 0 ; i < čísla. Délka ; i ++ )
{
Řídicí panel. Napsat ( čísla [ i ] + '' ) ;
}
Řídicí panel. WriteLine ( ) ;
// Zkopírujte obsah jiného pole do nums
int [ ] numsCopy = { 7 , 8 , 9 } ;
Pole. kopírovat ( numsCopy , čísla , numsCopy. Délka ) ;
Řídicí panel. WriteLine ( 'Pole po zkopírování:' ) ;
pro ( int i = 0 ; i < čísla. Délka ; i ++ )
{
Řídicí panel. Napsat ( čísla [ i ] + '' ) ;
}
Řídicí panel. WriteLine ( ) ;
// Získání délky a dlouhé délky pole
int délka = čísla. GetLength ( 0 ) ;
dlouho dlouháDélka = čísla. GetLongLength ( 0 ) ;
Řídicí panel. WriteLine ( 'Délka pole: ' + délka ) ;
Řídicí panel. WriteLine ( 'Dlouhá délka pole: ' + dlouháDélka ) ;
// Získání dolní a horní hranice pole
int dolní hranice = čísla. GetLowerBound ( 0 ) ;
int horní hranice = čísla. GetUpperBound ( 0 ) ;
Řídicí panel. WriteLine ( 'Dolní mez pole: ' + dolní hranice ) ;
Řídicí panel. WriteLine ( 'Horní mez pole: ' + horní hranice ) ;
// Získání hodnoty na konkrétním indexu v poli
int valueAtIndex = ( int ) čísla. GetValue ( 1 ) ;
Řídicí panel. WriteLine ( 'Hodnota na indexu 1: ' + valueAtIndex ) ;
// Najděte index konkrétní hodnoty v poli
int indexOfValue = Pole. IndexOf ( čísla , 9 ) ;
Řídicí panel. WriteLine ( 'Index hodnoty 9: ' + indexOfValue ) ;
// Zkontrolujte, zda má pole pevnou velikost a je pouze pro čtení
bool je FixedSize = čísla. IsFixedSize ;
bool je pouze pro čtení = čísla. IsReadOnly ;
Řídicí panel. WriteLine ( 'Je pevná velikost?' + isFixedSize ) ;
Řídicí panel. WriteLine ( 'Je pouze pro čtení?' + isReadOnly ) ;
// Najděte poslední index konkrétní hodnoty v poli
int lastIndexOfValue = Pole. LastIndexOf ( čísla , 9 ) ;
Řídicí panel. WriteLine ( 'Poslední index hodnoty 9: ' + lastIndexOfValue ) ;
// Získání délky pole
int délka znovu = čísla. Délka ;
Řídicí panel. WriteLine ( 'Znovu délka pole: ' + délka znovu ) ;
// Získání hodnosti pole
int hodnost = čísla. Hodnost ;
Řídicí panel. WriteLine ( 'Hodnota pole: ' + hodnost ) ;
// Změna velikosti pole
Pole. Změnit velikost ( ref nums , 10 ) ;
// Obrátí obsah pole
Pole. Zvrátit ( čísla ) ;
Řídicí panel. WriteLine ( 'Pole po couvání:' ) ;
pro ( int i = 0 ; i < čísla. Délka ; i ++ )
{
Řídicí panel. Napsat ( čísla [ i ] + '' ) ;
}
Řídicí panel. WriteLine ( ) ;
// Seřadí obsah pole
Pole. Seřadit ( čísla ) ;
Řídicí panel. WriteLine ( 'Pole po třídění:' ) ;
pro ( int i = 0 ; i < čísla. Délka ; i ++ )
{
Řídicí panel. Napsat ( čísla [ i ] + '' ) ;
}
}
}
Výstup
Závěr
Třída System.Array v C# poskytuje základ pro práci s poli všech typů. Ať už potřebujeme vytvořit jednoduché jednorozměrné pole nebo složité vícerozměrné pole, třída System.Array poskytuje různé metody pro efektivní manipulaci a práci s daty. Podrobný popis System.Array v C# najdete v článku.