by Stefani Mihova
Copyright © 2022
Едномерен масив
Масивите са неизменна част от повечето езици за програмиране. Те представляват съвкупности от променливи, които наричаме елементи.
Елементите на масивите в C# са номерирани с числата 0, 1, 2, … N-1. Тези номера на елементи се наричат индекси. Броят елементи в даден масив се нарича дължина на масива.
Всички елементи на даден масив са от един и същи тип, независимо дали е примитивен или референтен. Това ни помага да представим група от еднородни елементи като подредена свързана последователност и да ги обработваме като едно цяло.
Масивите могат да бъдат от различни размерности, като най-често използвани са едномерните и двумерните масиви. Едномерните масиви се наричат още вектори, а двумерните – матрици.

Деклариране на масив
В C# масивите имат фиксирана дължина, която се указва при инициализирането им и определя броя на елементите им. След като веднъж е зададена дължината на масив при неговото създаване, след това не е възможно да се променя.
С [] се обозначава, че променливата, която декларираме е масив от елементи, а не единичен елемент.
При декларация на променливата от тип масив, тя представлява референция (reference), която няма стойност (сочи към null), тъй като още не е заделена памет за елементите на масива.
Създаване на масив- оператор New
Масив се създава с ключовата дума new, която служи за заделяне (алокиране) на памет.В примера заделяме масив с размер 6 елемента от целочисления тип int. Това означава, че в
динамичната памет (heap) се заделя участък от 6 последователни цели числа, които се
инициализират със стойност 0.
Картинката показва, че след заделянето на масива променливата myArray сочи към адрес в динамичната памет, където се намира нейната стойност. Елементите на масивите винаги се съхраняват в динамичната памет (в т. нар. heap).
При заделянето на масив в квадратните скоби се задава броят на елементите му (цяло неотрицателно число) и така се фиксира неговата дължина. Типът на елементите се пише след new, за да се укаже за какви точно елементи трябва да се задели памет.


Инициализация на масив. Стойности по подразбиране
Преди да използваме елемент от даден масив той трябва да има начална стойност. В някои езици за програмиране не се задават начални стойности по подразбиране, и тогава при опит за достъпване на даден елемент може да възникне грешка. В C# всички променливи, включително и елементите на масивите имат начална стойност по подразбиране (default initial value). Тази стойност е равна на 0 при числените типове или неин еквивалент при нечислени типове (например null за референтни типове и false за булевия тип).
Разбира се, начални стойности можем да задавам и изрично. Това може да стане по различни начини. Ето един от тях:
int[] myArray = { 1, 2, 3, 4, 5, 6 };
В този случай създаваме и инициализираме елементите на масива едновременно. Ето как изглежда масивът в паметта, след като стойностите му са инициализирани още в момента на деклариране.
При този синтаксис къдравите скоби заместват оператора new и между тях са изброени началните стойности на масива, разделени със запетаи. Техния брой определя дължината му.
Published: Apr 18, 2022
Latest Revision: Apr 18, 2022
Ourboox Unique Identifier: OB-1314155
Copyright © 2022