Junior — Middle
Чӣ тавр ёддошт дар муҳити C# идора ва сохта мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар C# идоракунии хотира автоматӣ тавассути ҷамъкунандаи партовҳо (Garbage Collector, GC) анҷом дода мешавад. Хотира ба ду минтақаи асосӣ тақсим мешавад:
- Танзим (Stack) — нигоҳдории тағйирёбандаҳои маҳаллӣ ва параметрҳои усулҳо. Хотира хеле зуд тақсим ва озод карда мешавад мувофиқи принсипи LIFO.
- Ҳаммуд (Heap) — нигоҳдории объектҳо ва маълумоте, ки дарозтар аз вақти иҷрои усул зиндагӣ мекунанд. Хотира дар ҳаммудро ҷамъкунандаи партовҳо идора мекунад.
Ҷамъкунандаи партовҳо дар вақти муайян хотираро, ки объектҳо ишғол мекунанд, ки дигар ба онҳо ишора намешавад, озод мекунад. Ин ба таҳиягарон аз идоракунии дастӣ ва кам кардани хавфи шикастҳои хотира кӯмак мекунад.
Масалан, сохтани объект дар ҳаммуд:
class Program
{
static void Main()
{
Person p = new Person(); // объект дар ҳаммуд сохта мешавад
}
}
class Person
{
public string Name { get; set; }
}
Ин ҷо, объект Person дар ҳаммуд сохта мешавад, ва тағйирёбандаи p дар танзим аст, ки ба он ишора мекунад.