Showing posts with label onedimensional. Show all posts
Showing posts with label onedimensional. Show all posts

Tuesday, December 01, 2015

Nizovi u C# programskom jeziku


Najjednostavnije rečeno, niz vam je indeksiran skup podataka istog tipa. Indeks nizova uvek počinje od 0. Nizovi se dele na jednodimenzionalne i višedimenzionalne nizove. Kad pravite nizove u C# programskom jeziku, vama oni izgledaju slično kao u C ili C++ programskom jeziku ali oni to definitivno nisu. Nizove u C++ programskom jeziku možete pogledati ovde. U C i C++ programskom jeziku ime nekog niza samo predstavlja pokazivač memorijske adrese, dok indeks niza predstavlja samo relativnu poziciju navedene adrese. I pored toga što su nizovi u C i C++ programskom bili fleksibilni, lako su pravili greške jer nisu pratile veličinu niza što je dovodilo i do oštećenja podataka. U programskom jeziku Visual Basic, niz je čak u osnovi predstavljao promenjivu tipa SAFEARRAY, što znači da rad sa nizom je podrazumevao izvesno angažovanje sistema ali zato je olakšavao rad sa nizovima. I ono je bilo bolje nego nizovi u C i C++ programskom jeziku. Zato je C# prevazišao nedostatke programskog jezika C i C++ i nizove od starta tretira kao objekte sa metodama i svojstvima uključujući i granice. Ali i na taj način opet podržava nizove u formi izričitog različitog tipa.


( Nizovi u C# programskom jeziku prikazani mapom uma )

Za razliku od nizova u C i C++ programskom jeziku, u C# programskom jeziku prilikom deklarisanja niza se u pozadini pravi primerak .NET bazne klase System.Array. Znači, C# kompajler vaš kod prevodi u razne pozive metoda klase System.Array i zbog toga nizovi u C# programskom jeziku imaju neke dodatne funkcije koje u drugim navedenim jezicima nisu postojale. Sintaksa niza u C# je sledeća:

Jednodimenzionalan niz:
tip [] naziv_niza;

Dvodimenzionalni niz:
tip [ , ] naziv_niza;

Višedimenzionalan niz:
tip [ , , … ] naziv_niza;

Ortogonalni niz:
tip [ ] [ ] naziv_niza:


Nemojte mešati nizove u C# programskom jeziku sa nizovima u C i C++ programskom jeziku.



int[] array; // it is not like as in C/C++ … int array[];

Rad sa jednodimenzionalnim nizom