Ce este System.Array în C#

Ce Este System Array In C



C# acceptă utilizarea matricelor ca structură de date, ceea ce ne permite să stocăm o colecție de elemente de același tip într-o ordine secvențială de dimensiune fixă. Toate proprietățile matricei în C# sunt derivate din Sistem.Matrice clasa, care servește ca clasă de bază pentru tipurile de matrice.

Deoarece este o clasă de bază abstractă, crearea directă a unei instanțe a clasei System.Array nu este posibilă. În schimb, putem crea instanțe ale uneia dintre clasele derivate din System.Array. Toate tipurile de matrice în C# se bazează pe System.Array.

Pe lângă matricele unidimensionale, C# are și matrice multidimensionale și matrice zimțate. O matrice multidimensională are dimensiuni multiple sau mai mari decât o dimensiune. Într-o matrice zimțată, fiecare element poate fi o matrice de dimensiuni diferite. Cu cuvinte simple, o matrice zimțată este o matrice de matrice.







Pentru ce este folosită clasa System.Array

Clasa System.Array oferă diverse metode și proprietăți pentru a manipula matrice în C#. Aceste metode ne permit să citim și să modificăm valorile stocate într-o matrice, să obținem informații despre dimensiunea și forma unei matrice și să căutăm elemente dintr-o matrice.



Unele metode comune includ GetValue(), SetValue(), GetLength() și IndexOf(). The Sistem.Matrice clasa ne permite, de asemenea, să sortăm, să căutăm și să manipulăm diferite matrice.



De exemplu, pentru a obține lungimea matricei, Proprietatea lungimii este folosit. The Proprietatea rangului poate returna dimensiunile totale prezente într-o matrice. The Proprietatea GetLength oferă lungimea unei dimensiuni specifice într-o matrice multidimensională.





Metode și proprietăți în System.Array C#

Iată câteva metode și proprietăți utilizate în System.Array C#:

Clar(): Aceasta este o metodă care este disponibilă publicului și poate fi accesată din orice parte a codului. Această metodă poate seta un anumit interval de elemente dintr-o matrice la referință nulă sau zero.



Copie(): Aceasta este o metodă publică partajată care poate fi supraîncărcată și utilizată pentru a copia o anumită secțiune de elemente dintr-o matrice în alta.

GetLength(): Returnează un număr întreg de 32 de biți care arată elementele totale dintr-o anumită dimensiune a unui tablou.

GetLongLength(): Această metodă returnează un număr întreg de 64 de biți, care ne oferă elementele totale într-o anumită dimensiune a matricei.

GetLowerBound(): Această metodă preia limita inferioară a unei anumite dimensiuni a matricei, începând cu indicele 0.

GetUpperBound(): Această metodă preia limita superioară a unei dimensiuni specificate a matricei, începând cu indicele 0.

GetValue(): Această metodă preia valoarea unui anumit element din matrice, începând cu indexul 1.

Index de(): Aceasta este o metodă publică partajată care poate fi supraîncărcată pentru a returna indexul sau offset-ul primei apariții a unei anumite valori într-o matrice unidimensională.

IsFixedSize(): Această metodă spune dacă o matrice are o dimensiune fixă ​​sau nu.

IsReadOnly(): Metoda oferă o valoare care indică dacă o matrice este doar pentru citire sau nu.

LastIndexOf(): Aceasta este o metodă publică partajată care poate fi supraîncărcată. Oferă indexul ultimei apariții a unei valori într-o matrice unidimensională.

Lungime(): Această metodă oferă lungimea tablourilor. Este proprietate publică și emite o valoare întreagă de 32 de biți.

Lung lungime(): Această metodă indică elemente în toate dimensiunile matricei. Returnează o valoare întreagă de 64 de biți.

Rang(): Această metodă returnează numărul de dimensiuni pe care le are matricea.

Redimensionare(): Această metodă redimensionează o matrice la numărul specificat de elemente.

Verso(): Această metodă poate inversa ordinea elementelor într-o matrice unidimensională.

Fel(): Această metodă aranjează elementele într-o matrice unidimensională în ordine crescătoare sau descrescătoare în funcție de valorile lor.

Exemplu de cod

Codul de mai jos inițializează o matrice de numere întregi și demonstrează diverse Sistem.Matrice metode care pot fi utilizate cu matrice în C#. Ieșirea fiecărei metode este afișată separat pe consolă.

folosind System ;
Programul clasei
{
static gol Principal ( şir [ ] argumente )
{
// Inițializați o matrice de numere întregi
int [ ] numere = { 1 , 2 , 3 , 4 , 5 } ;


// Ștergeți conținutul matricei

Matrice. clar ( numere , 0 , numere. Lungime ) ;

Consolă. WriteLine ( „Matrice după ștergere:” ) ;

pentru ( int i = 0 ; i < numere. Lungime ; i ++ )

{

Consolă. Scrie ( numere [ i ] + ' ' ) ;

}

Consolă. WriteLine ( ) ;

// Copiați conținutul altei matrice în numere

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

Matrice. Copie ( numsCopy , numere , numsCopy. Lungime ) ;

Consolă. WriteLine ( „Matrice după copiere:” ) ;

pentru ( int i = 0 ; i < numere. Lungime ; i ++ )

{

Consolă. Scrie ( numere [ i ] + ' ' ) ;

}

Consolă. WriteLine ( ) ;

// Obține lungimea și lungimea lungă a matricei

int lungime = numere. GetLength ( 0 ) ;

lung lung lungime = numere. GetLongLength ( 0 ) ;

Consolă. WriteLine ( 'Lungimea matricei: ' + lungime ) ;

Consolă. WriteLine ( 'Lungimea mare a matricei: ' + lung lungime ) ;

// Obține limitele inferioare și superioare ale matricei

int limita inferioară = numere. GetLowerBound ( 0 ) ;

int limită superioară = numere. GetUpperBound ( 0 ) ;

Consolă. WriteLine ( 'Liga inferioară a matricei: ' + limita inferioară ) ;

Consolă. WriteLine ( „Liga superioară a matricei:” + limită superioară ) ;

// Obține valoarea la un index specific din matrice

int valueAtIndex = ( int ) numere. GetValue ( 1 ) ;

Consolă. WriteLine ( „Valoare la indicele 1:” + valueAtIndex ) ;

// Găsiți indexul unei anumite valori în matrice

int indexOfValue = Matrice. Index de ( numere , 9 ) ;

Consolă. WriteLine ( „Indexul valorii 9:” + indexOfValue ) ;

// Verificați dacă matricea are dimensiune fixă ​​și este doar pentru citire

bool isFixedSize = numere. IsFixedSize ;

bool isReadOnly = numere. IsReadOnly ;

Consolă. WriteLine ( „Este dimensiunea fixă?” + esteFixedSize ) ;

Consolă. WriteLine ( „Este doar citire?” + esteReadOnly ) ;

// Găsiți ultimul index al unei anumite valori din matrice

int lastIndexOfValue = Matrice. LastIndexOf ( numere , 9 ) ;

Consolă. WriteLine ( „Ultimul indice al valorii 9:” + lastIndexOfValue ) ;

// Obține lungimea matricei

int lungime Din nou = numere. Lungime ;

Consolă. WriteLine ( 'Lungimea matricei din nou: ' + lungime Din nou ) ;

// Obține rangul matricei

int rang = numere. Rang ;

Consolă. WriteLine ( 'Rangul matricei: ' + rang ) ;

// Redimensionați matricea

Matrice. Redimensionați ( numere de ref , 10 ) ;



// Inversează conținutul matricei

Matrice. Verso ( numere ) ;

Consolă. WriteLine ( „Matrice după inversare:” ) ;

pentru ( int i = 0 ; i < numere. Lungime ; i ++ )

{

Consolă. Scrie ( numere [ i ] + ' ' ) ;

}

Consolă. WriteLine ( ) ;



// Sortează conținutul matricei

Matrice. Fel ( numere ) ;

Consolă. WriteLine ( „Matrice după sortare:” ) ;

pentru ( int i = 0 ; i < numere. Lungime ; i ++ )

{

Consolă. Scrie ( numere [ i ] + ' ' ) ;

}

}

}

Ieșire

Concluzie

Clasa System.Array în C# oferă o bază pentru lucrul cu matrice de toate tipurile. Indiferent dacă trebuie să creăm o matrice unidimensională simplă sau o matrice multidimensională complexă, clasa System.Array oferă diferite metode de manipulare și lucru eficient cu datele. Pentru o descriere detaliată a System.Array în C#, citiți articolul.