Низови
Низ поседује скуп података истог типа. Може бити:
- једнодимензионални (енгл. single-dimensional),
- вишедимензионални (енгл. multidimensional) или
- назубљен (енгл. jagged).
Једнодимензионални низ
Низ можеш само декларисати...
...или декларисати и иницијализовати одређен број елемената низа помоћу оператора new подразумеваним вредностима који за тип int износе 0...
...или декларисати и иницијализовати низ конкретним вредностима...
...што можеш записати скраћено:
Исто као и у програмском језику C, у програмском језику C# индекс првог елемента низа је 0, а елементу низа можеш приступати наводећи име низа и његов индекс записан у угластим заградама. На пример:
int[] arr = { 5, 1, 9, 7, 0, 3, 6, 8, 4, 2 };
Console.WriteLine(arr[0]); // 5
arr[0]++;
Console.WriteLine(arr[0]); // 6
Иницијализован једнодимензионални низ можеш проследити методи као аргумент. На пример:
static void IspisiNiz(int[] niz)
{
for (int i = 0; i < niz.Length; i++)
Console.WriteLine(niz[i]);
}
static void Main()
{
int[] arr = { 5, 1, 9, 7, 0, 3, 6, 8, 4, 2 };
IspisiNiz(arr);
}
Својства и методе
У класи Array дефинисано је мноштво корисних својстава и метода за рад са низовима. У претходном примеру већ си се упознао са својством Length које враћа укупан број елемената низа. Остала својства можеш пронаћи у документацији.
Многе задатке са низовима које си мануелно решавао у програмском језику C, у програмском језику C# решаваћеш једноставним позивом методе дефинисане у класи Array. На пример, сортирање низа...
int[] arr = { 5, 1, 9, 7, 0, 3, 6, 8, 4, 2 };
Array.Sort(arr); // arr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
...или обртање редоследа елемената низа:
int[] arr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Array.Reverse(arr); // arr = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }
Остале методе можеш такође пронаћи у документацији.
Вишедимензионални низови
Вишедимензионални низови имају више од једне димензије. На пример, дводимензионални низ можеш декларисати на следећи начин...
...или декларисати и иницијализовати одређен број елемената низа помоћу оператора new подразумеваним вредностима који за тип int износе 0...
...или декларисати и иницијализовати га конкретним вредностима...
...или краће записано:
Назубљени низови
Назубљени низови су низови чији су елементи други низови различитих величина. Њих можеш да замислиш као низове низова. Ове низове можеш декларисати и иницијализовати на пример овако...
...или овако...
...или овако: