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.