Co je System.Array v C#

Co Je System Array V C



C# podporuje použití polí jako datové struktury, což nám umožňuje ukládat kolekci prvků stejného typu v sekvenčním pořadí pevné velikosti. Všechny vlastnosti pole v C# jsou odvozeny z System.Array class, která slouží jako základní třída pro typy polí.

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.