Što je System.Array u C#

Sto Je System Array U C



C# podržava korištenje nizova kao strukture podataka, što nam omogućuje pohranjivanje zbirke elemenata iste vrste u sekvencijalnom redoslijedu fiksne veličine. Sva svojstva polja u C# izvedena su iz System.Array klasa, koja služi kao osnovna klasa za vrste nizova.

Budući da je to apstraktna osnovna klasa, izravno stvaranje instance klase System.Array nije moguće. Umjesto toga, možemo stvoriti instance jedne od klasa izvedenih iz System.Array. Sve vrste polja u C# temelje se na System.Array.

Uz jednodimenzionalne nizove, C# također ima višedimenzionalne nizove i nazubljene nizove. Višedimenzionalni niz ima više ili više od jedne dimenzije. U nazubljenom nizu svaki element može biti niz različitih veličina. Jednostavnim riječima, nazubljeni niz je niz nizova.







Za što se koristi klasa System.Array

Klasa System.Array pruža različite metode i svojstva za manipuliranje nizovima u C#. Ove nam metode omogućuju čitanje i izmjenu vrijednosti pohranjenih u nizu, dobivanje informacija o veličini i obliku niza i traženje elemenata u nizu.



Neke uobičajene metode uključuju GetValue(), SetValue(), GetLength() i IndexOf(). The System.Array klasa nam također omogućuje sortiranje, pretraživanje i manipuliranje različitim nizovima.



Na primjer, da biste dobili duljinu niza, Svojstvo duljine koristi se. The Svojstvo ranga može vratiti ukupne dimenzije prisutne u nizu. The Svojstvo GetLength daje duljinu određene dimenzije u višedimenzionalnom nizu.





Metode i svojstva u System.Array C#

Evo nekoliko metoda i svojstava korištenih u System.Array C#:

Čisto(): Ovo je metoda koja je dostupna javnosti i može joj se pristupiti iz bilo kojeg dijela koda. Ova metoda može postaviti određeni raspon elemenata unutar niza na nultu referencu ili nulu.



Kopirati(): Ovo je javna dijeljena metoda koja se može preopteretiti i koristiti za kopiranje određenog dijela elemenata iz jednog polja u drugo polje.

GetLength(): Vraća 32-bitni cijeli broj koji prikazuje ukupne elemente u određenoj dimenziji polja.

GetLongLength(): Ova metoda vraća 64-bitni cijeli broj, koji nam daje ukupne elemente u određenoj dimenziji niza.

GetLowerBound(): Ova metoda dohvaća donju granicu određene dimenzije niza, počevši od indeksa 0.

GetUpperBound(): Ova metoda dohvaća gornju granicu određene dimenzije niza, počevši od indeksa 0.

GetValue(): Ova metoda dohvaća vrijednost određenog elementa u nizu, počevši od indeksa 1.

IndexOf(): Ovo je javna dijeljena metoda koja se može preopteretiti da vrati indeks ili pomak prvog pojavljivanja određene vrijednosti u jednodimenzionalnom polju.

IsFixedSize(): Ova metoda govori ima li niz fiksnu veličinu ili ne.

IsReadOnly(): Metoda daje vrijednost koja označava je li niz samo za čitanje ili ne.

LastIndexOf(): Ovo je javna dijeljena metoda koja se može preopteretiti. Daje indeks posljednjeg pojavljivanja vrijednosti u jednodimenzionalnom nizu.

Duljina (): Ova metoda daje duljinu nizova. To je javno vlasništvo i daje 32-bitnu vrijednost cijelog broja.

LongLength(): Ova metoda govori elementima u svim dimenzijama niza. Vraća 64-bitnu vrijednost cijelog broja.

Rang(): Ova metoda vraća broj dimenzija koje polje ima.

Promjena veličine(): Ova metoda mijenja veličinu niza na određeni broj elemenata.

Obrnuto(): Ova metoda može obrnuti redoslijed elemenata u jednodimenzionalnom nizu.

Vrsta(): Ova metoda raspoređuje elemente u jednodimenzionalni niz uzlaznim ili silaznim redoslijedom ovisno o njihovim vrijednostima.

Primjer koda

Donji kod inicijalizira niz cijelih brojeva i demonstrira razne System.Array metode koje se mogu koristiti s nizovima u C#. Izlaz svake metode zasebno se prikazuje na konzoli.

pomoću sustava ;
razreda Program
{
statički poništiti Glavni ( niz [ ] args )
{
// Inicijaliziranje niza cijelih brojeva
int [ ] brojevima = { 1 , 2 , 3 , 4 , 5 } ;


// Brisanje sadržaja niza

Niz. Čisto ( brojevima , 0 , brojevima. Duljina ) ;

Konzola. WriteLine ( 'Niz nakon brisanja:' ) ;

za ( int ja = 0 ; ja < brojevima. Duljina ; ja ++ )

{

Konzola. Pisati ( brojevima [ ja ] + ' ' ) ;

}

Konzola. WriteLine ( ) ;

// Kopiraj sadržaj drugog niza u nums

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

Niz. Kopirati ( numsCopy , brojevima , numsCopy. Duljina ) ;

Konzola. WriteLine ( 'Niz nakon kopiranja:' ) ;

za ( int ja = 0 ; ja < brojevima. Duljina ; ja ++ )

{

Konzola. Pisati ( brojevima [ ja ] + ' ' ) ;

}

Konzola. WriteLine ( ) ;

// Dobivanje duljine i velike duljine niza

int duljina = brojevima. GetLength ( 0 ) ;

dugo longLength = brojevima. GetLongLength ( 0 ) ;

Konzola. WriteLine ( 'Duljina niza: ' + duljina ) ;

Konzola. WriteLine ( 'Dugačka duljina niza: ' + longLength ) ;

// Dobivanje donje i gornje granice niza

int Donja granica = brojevima. GetLowerBound ( 0 ) ;

int Gornja granica = brojevima. GetUpperBound ( 0 ) ;

Konzola. WriteLine ( 'Donja granica niza: ' + Donja granica ) ;

Konzola. WriteLine ( 'Gornja granica niza: ' + Gornja granica ) ;

// Dobivanje vrijednosti na određenom indeksu u nizu

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

Konzola. WriteLine ( 'Vrijednost na indeksu 1: ' + valueAtIndex ) ;

// Pronađite indeks određene vrijednosti u nizu

int indexOfValue = Niz. IndexOf ( brojevima , 9 ) ;

Konzola. WriteLine ( 'Indeks vrijednosti 9: ' + indexOfValue ) ;

// Provjerite je li polje fiksne veličine i samo za čitanje

bool je Fiksna Veličina = brojevima. IsFixedSize ;

bool je samo za čitanje = brojevima. IsReadOnly ;

Konzola. WriteLine ( 'Je li fiksna veličina?' + isFixedSize ) ;

Konzola. WriteLine ( 'Je li samo za čitanje?' + isReadOnly ) ;

// Pronađite zadnji indeks određene vrijednosti u nizu

int lastIndexOfValue = Niz. LastIndexOf ( brojevima , 9 ) ;

Konzola. WriteLine ( 'Zadnji indeks vrijednosti 9: ' + lastIndexOfValue ) ;

// Dobivanje duljine niza

int Opet duljina = brojevima. Duljina ;

Konzola. WriteLine ( 'Opet duljina niza: ' + Opet duljina ) ;

// Dobivanje ranga niza

int rang = brojevima. Rang ;

Konzola. WriteLine ( 'Rang niza: ' + rang ) ;

// Promjena veličine niza

Niz. Promjena veličine ( referentni brojevi , 10 ) ;



// Obrnuti sadržaj niza

Niz. Obrnuto ( brojevima ) ;

Konzola. WriteLine ( 'Niz nakon preokreta:' ) ;

za ( int ja = 0 ; ja < brojevima. Duljina ; ja ++ )

{

Konzola. Pisati ( brojevima [ ja ] + ' ' ) ;

}

Konzola. WriteLine ( ) ;



// Sortiraj sadržaj niza

Niz. Vrsta ( brojevima ) ;

Konzola. WriteLine ( 'Niz nakon sortiranja:' ) ;

za ( int ja = 0 ; ja < brojevima. Duljina ; ja ++ )

{

Konzola. Pisati ( brojevima [ ja ] + ' ' ) ;

}

}

}

Izlaz

Zaključak

Klasa System.Array u C# daje temelj za rad s nizovima svih vrsta. Bilo da trebamo stvoriti jednostavno jednodimenzionalno polje ili složeno višedimenzionalno polje, klasa System.Array pruža različite metode za učinkovito manipuliranje i rad s podacima. Za detaljan opis System.Array u C# pročitajte članak.