Sobes.tech
Junior — Middle

Дар системаи идоракунии автоматии хотира аввалин унсури массив дар куҷост?

sobes.tech AI

Ҷавоб аз AI

Дар C# массивҳо навъҳои ишоракунанда мебошанд ва дар хӯлаи идорашаванда (managed heap) ҷойгир мешаванд. Элементи аввалини массив дар ёддошт дарҳол пас аз маълумоти хидматии массив (масалан, дарозӣ) ҷойгир аст.

Вақте ки шумо массив месозед, CLR як блоки ёддоштро дар хӯла ҷудо мекунад, ки дар он аввал метадатаи массив нигоҳ дошта мешавад, ва сипас унсурҳои массив пайдарпай ҷойгир мешаванд. Бинобар ин, унсури аввалини массив дар суроғаи кӯчонидашуда аз оғози блоки ёддошт дар андозаи қисми хидматӣ ҷойгир аст.

Ин имкон медиҳад, ки ба унсурҳои массив бо индекс самаранок дастрасӣ пайдо кунед, зеро унсурҳо дар як блоки ёддошт ҷойгир шудаанд.

Масалан:

int[] numbers = new int[] {1, 2, 3};
// numbers ба объект дар хӯла ишора мекунад, ки унсурҳо дар он нигоҳ дошта мешаванд
int firstElement = numbers[0]; // дастрасӣ ба унсури аввал