Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

C# dasturlash tilida xotirani taqsimlash

+2 ovoz
225 marta ko‘rilgan
so‘radi 09 dekabr, 17 SARVARBEK (355 bal)
using System;
using System.Windows.Forms;

namespace ForPamyat
{
    public partial class Form1 : Form
    {
        Int32[] globalmassiv;
        public Form1()
        {
            InitializeComponent();

            Int32[] localmassiv1;
            for (int i = 0; i < 10; i++)
            {
                globalmassiv = new Int32[10];
                localmassiv1 = new Int32[10];
                Int32[] localmassiv2 = new Int32[10];
            }
        }
    }
}

Shu kodda i=0 bo'lgan holatda globalmassiv, localmassiv1, localmassiv2 larga xotiradan joy ajratiladi(new). i=1 bo'lgan holatga o'tgandayam yana joy ajratiladi. Shunda i=0 bo'lgandagi xotira tozalanadimi? Agar tozalanmasa qanday tozalash (dispose yoki shunga o'xshash boshqa yo'llar) mumkin?

1 ta javob

0 ovoz
javob berdi 12 dekabr, 17 m.kholmirzaev (164 bal)
tanlangan 26 fevral, 18 SARVARBEK
 
Eng yaxshi javob
Oddiyroq tushuntirishga harakat qilaman. C# .NET da ishlaydi. .NET da xotirani CLR boshqaradi. GC (Garbage Collection) degan narsa bor o'zbekchasiga qanday tarjimasini bilmayman oddiy qilib aytganda xotirani tozalash bn shugullanadi. C#da o'zgaruvchilar togridan togri qiymatni saqlamaydi xuddi c++dagi ukazatellardek qiymat saqlanadigan xotira adresini saqlaydi. Shunday qilib GC ma'lum bir vaqt va sharoitda muntazam xotirani tozalab turadi ya'ni xotiradagi ma'lumotlarga agar birorta ham ukazatellar qolmasa uni o'chiradi. Ana endi sizni localmassiv2 ga kelsak har bir sikl bajarilgandan kn ushbu ozgaruvchi yo' qilinadi va GC xotiradagi ma'lumotni o'chirib tashlaydi. Agar xotirani to operatsiya bajarilib bolib ozgaruvchini tozalashini kutmayman desangiz qiymatini null qiling. Shunda GC ishga tushgabda xotiradagi qiymatni ochirib tashlaydi.

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...