Sobes.tech
Junior — Middle

C# чөйрөсүндө эс тутумду кантип башкаруу жана түзүү?

sobes.tech AI

AIден жооп

C# тилинде эс тутумду башкаруу автоматтык түрдө Garbage Collector (GC) аркылуу жүргүзүлөт. Эс тутум эки негизги аймакка бөлүнөт:

  • Stack (Stack) — жергиликтүү өзгөрмөлөрдү жана ыкмалардын параметрлерин сактайт. Эс тутум LIFO принциби боюнча өтө тез бөлүнүп, бошотулат.
  • Heap (Heap) — ыкмалардын иштөө учурунан узак жашаган объекттерди жана маалыматтарды сактайт. Heapтеги эс тутум Garbage Collector тарабынан башкарылат.

Garbage Collector мезгил-мезгили менен объекттер үчүн бөлүнгөн эс тутумду бошотуп турат, аларга дагы шилтемелер калбаган учурда. Бул иштеп чыгуучуну эс тутумду кол менен башкаруу зарылдыгынан куткарат жана эс тутум агып кетүү коркунучун азайтат.

Heapте объект түзүү мисалы:

class Program
{
    static void Main()
    {
        Person p = new Person(); // объект heapте түзүлөт
    }
}

class Person
{
    public string Name { get; set; }
}

Бул жерде, Person объекти heapте түзүлөт, ал эми p өзгөрмөсү стекте жайгашкан жана ошол объектке шилтеме кылат.