Nizovi se koriste za spremanje višestrukih vrijednosti u jednu varijablu, umjesto deklariranja zasebnih varijabli za svaku vrijednost.
Da biste deklarirali polje, definirajte vrstu varijable s uglatim zagradama [].
vrsta[] imeNiza = {"vrijednostNiza"};
U sljedećem primjeru stvorit ćemo niz markeKompjutera i niz brojevi.
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
int[] brojevi = {10, 20, 30, 40, 50};
Elementima niza pristupamo tako da deklariramo njihov redni broj di se prvi element označava brojem 0, drugi element brojem 1, treći element brojem 2...
U sljedećem primjeru ispisati ćemo prvi i treći element niza markeKompjutera.
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
Console.WriteLine("Windowsi su operativni sustav koji je stvorio " + markaKompjutera[0]); // Prvi element niza
Console.WriteLine(markaKompjutera[2] + " ima odličnu kvalitetu izrade kod svojih laptopa."); // Treći element niza
U sljedećem primjeru ćemo vam pokazati kako promjeniti vrijednost nekog elementa određenog niza.
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
// Dell ćemo zamijeniti s HP
markaKompjutera[3] = "HP";
Console.WriteLine(markaKompjutera[3]); // Ispisuje HP
Niz možemo stvoriti i na različite načine, a na vama je koji ćete koristiti.
// Stvori niz od četiri elementa i dodaj vrijednosti kasnije
string[] markaKompjutera = new string[4];
// Stvori niz od četiri elementa i odmah dodaj vrijednosti
string[] markaKompjutera = new string[4] {"Microsoft", "Apple", "Razer", "Dell"};
// Stvori niz od četiri elementa bez specificiranja veličine
string[] markaKompjutera = new string[] {"Microsoft", "Apple", "Razer", "Dell"};
// Stvori niz od četiri elementa, preskoči ključnu riječ new i ne specificiraj veličinu
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
Uz pomoć metode Length možemo saznati od koliko se elemenata sastoji određeni niz.
U sljedećem primjeru ćemo ispisati duljinu niza markaKompjutera.
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
Console.WriteLine(markaKompjutera.Length); // Ispisuje 4
Kroz sljedeći niz proći ćemo koristeći se petljom for.
string[] markaKompjutera = { "Microsoft", "Apple", "Razer", "Dell" };
for(int i = 0; i < markaKompjutera.Length; i++)
{
Console.WriteLine(markaKompjutera[i]); // Ispisuje sve elemente niza markaKompjutera
}
Petlju foreach smo spominjali u lekciji for, ali tada još nismo znali što su nizovi.
Foreach je vrsta petlje koja se koristi za prolazak kroz elemente neke liste, skupa...
foreach (type imeVarijable in imeListe)
{
// određeni kod
}
U sljedećem primjeru ispisati ćemo sve elemente niza markaKompjutera.
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
foreach (string i in markaKompjutera)
{
Console.WriteLine(i); // ispisuje redom marke kompjutera koje se nalaze u listi markaKOmpjutera
}
Metodom Sort možemo niz koji je string sortirati abecedno, a niz koji je int možemo sortirati tako da će na prvo mjesto biti najmanji element niza, a na kraju najveći element niza.
string[] markaKompjutera = {"Microsoft", "Apple", "Razer", "Dell"};
int[] brojevi = {40, 30, 50, 20};
// Sortiranje nizova
Array.Sort(markaKompjutera);
Array.Sort(brojevi);
// Ispisujemo niz markaKompjutera
foreach (string i in markaKompjutera)
{
Console.WriteLine(i); // Ispisati će prvo Apple, zatim Dell, Microsoft, Razer
}
// Ispisujemo niz brojevi
foreach (int j in brojevi)
{
Console.WriteLine(j); // Ispisati će prvo 20, zatim 30, 40, 50
}
Moežemo se koristiti metodama Min, Max, Sum koje se nalaze unutar System.Linq namespace-a.
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
int[] brojevi = {40, 30, 50, 20};
Console.WriteLine(brojevi.Max()); // vraća najveću vrijednost a to je u ovom slučaju 50
Console.WriteLine(brojevi.Min()); // vraća najmanju vrijednost a to je u ovom slučaju 20
Console.WriteLine(brojevi.Sum()); // vraća zbroj svih elemenata a to je u ovom slučaju 140
}
}
Da bi stvorili niz unutar niza moramo unutar uglatih zagrada nadodati zarez ,.
U sljedećem primjeru ćemo kreirati niz unutar niza i ispisati drugi element prvog niza i prvi element drugog niza.
int[,] brojevi = { { 1, 4, 2 }, { 3, 6, 8 } };
brojevi[0, 1] = 5; // Mjenjamo drugi element prvog niza.
Console.WriteLine(brojevi[0, 1]); //Ispisujemo drugi element prvog niza
Console.WriteLine(brojevi[1, 0]); //Ispisujemo prvi element drugog niza
U sljedećem primjeru proći ćemo kroz nizove unutar niza koristeći se for petljom.
int[,] brojevi = { { 1, 4, 2 }, { 3, 6, 8 } };
for (int i = 0; i < brojevi.GetLength(0); i++)
{
for (int j = 0; j < brojevi.GetLength(1); j++)
{
Console.WriteLine(brojevi[i, j]);
}
}
U sljedećem primjeru ćemo ispisati sve elemente nizova unutar niza brojevi koristeći se foreach petljom.
int[,] brojevi = { { 1, 4, 2 }, { 3, 6, 8 } };
foreach (int i in brojevi)
{
Console.WriteLine(i);
}