Напредни C# туторијали со Никола Ѓоргиев: Jagged Array

Никола Ѓоргиев е Unity Developer кој реши своето C# искуство да го сподели со сите преку YouTube туторијали.

Видеата се одлично склопени едноставни за разбирање и што е вистинска реткост, на македонски.


Во ова видео од туторијалите Никола објаснува за jagged arrays, што се, како се креираат и зошто се користат. Еве што вели делот од документот кој ги следи видеата за овој туторијал.

Jagged Array

Jagged array ни претставува низа од низи, што значи дека jagged низата секогаш ќе ни содржи други низи, а не директно некои вредности.

Random random = new Random();//го користиме за генерирање на рандом броеви

Jagged низа креираме со два пара на заградите што ги користевме за креирање на низи „[ ][ ]“, каде што првиот пар загради ни ја кажува должината на овој jugged array, односно колку низи ќе содржи, а вториот пар загради ни ја држи димензијата на низите што се содржани во овој jagged array, или во нашиот пример не ставаме ништо бидејки ке чуваме обични еднодимензионални низи, па така имаме new int[3][], што ни кажува дека нашиот jagged array ќе содржи три низи.

int[][] jaggedArray = new int[3][];

Потоа со еден for циклус ги пополнуваме елементите на нашата низа, па така првиот дел од jagged низата гледајте го како обична еднодимензионална низа, која ја вртиме со еден for циклус од нула до должината на овој jagged array.
Потоа за примерот да го направиме поинтересен, во нашиот jagged array, ќе зачуваме низи кој ке ги генерираме со рандом генератор, каде што и должината на самата низа и самите елементи ке ни бидат генерирани по рандом.
Па така најпрвин креираме една привремена низа која ке ја именуваме како “temp” и истата ке има од еден до пет (5-1) елементи избирани од рандом генераторот. Потоа со уште еден for циклус ја пополнуваме таа temp низа со рандом броеви од 0 до 100 (100-1), и после пополнувањето на таа temp низа, истата ја доделуваме на нашиот jaggedArray.

for (int i = 0; i < jaggedArray.Length; i++)
{
int[] temp = new int[random.Next(1, 5)];
for (int j = 0; j < temp.Length; j++)
{
temp[j] = random.Next(0, 100);
}
jaggedArray[i] = temp;
}

Со истите два for циклуси, го вртиме целиот jaggedArray, и ги печатиме неговите вредности:
for (int i = 0; i < jaggedArray.Length; i++)
{
for (int j = 0; j < jaggedArray[i].Length; j++)
{
Console.Write(jaggedArray[i][j] + " ");
}
Console.WriteLine();
}

Ова беше наједноставен пример за jagged array, каде што имавме низа од еднодимензионални низи, но може да имате и низа од мултидимензионални низи, па тоа би изгледало вака:
int[][,] јaggedArray = new int[3][,];//ќе содржи 3 мултидимензионални низи
Има нешто уште понапредно, со додавање на уште еден пар на загради, добивате низа од низа од низи, односно низа од jagged arrays:
int[][][] jaggedArray = new int[2][][]
{
new int[2][]
{
new int[3] { 1, 2, 3},
new int[2] { 4, 5}
},
new int[1][]
{
new int[3] { 7, 8, 9}
}
};

Коментирај

Вашата адреса за е-пошта нема да биде објавена.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Слични статии