Dynamic xotira haqida
Dasturlashda ikki xil xotiradan foydalanamiz: static, dynamic.
Static - bu usuldan foydalaniladigan objectlar stack dan joy oladi, Stack esa chegaralangan. Katta bo`lmagan, ko`p foydalanilmaydigan yo block ichidagi object larda foydalanish maqsadga muvofiq.
{
string a="rahim",b="123";
int e=3;
}
Dynamic - bu usulda object ma`lumoti dynamic xotirada saqlanadi va bizga bu dynamic ma`lumot uchun link beriladi xolos.
{
Program p=new Program();
...
TextBox t=new TextBox();
}
Agarda biz
Javob: chunki t -shunchaki bir link edi. biz 3 marta textbox ni dynamic chaqirib qo`shib qo`ydik, bizda faqt link yangilandi. ma`lumot esa shu noma`lum joyda qolib ketdi. ma`lumot turgan link esa yangisiga o`zgarib qoldi.
Dasturlashda ikki xil xotiradan foydalanamiz: static, dynamic.
Static - bu usuldan foydalaniladigan objectlar stack dan joy oladi, Stack esa chegaralangan. Katta bo`lmagan, ko`p foydalanilmaydigan yo block ichidagi object larda foydalanish maqsadga muvofiq.
{
string a="rahim",b="123";
int e=3;
}
Dynamic - bu usulda object ma`lumoti dynamic xotirada saqlanadi va bizga bu dynamic ma`lumot uchun link beriladi xolos.
{
Program p=new Program();
...
TextBox t=new TextBox();
}
Agarda biz
{
TextBox t=new TextBox();
Controls.Add(t);
t=new TextBox();
Controls.Add(t);
t=new TextBox();
Controls.Add(t);
}
TextBox t=new TextBox();
Controls.Add(t);
t=new TextBox();
Controls.Add(t);
t=new TextBox();
Controls.Add(t);
}
deb yozadigan bo`lsak formaga 3 ta textbox chiziladi.
Savol: biz 1 ta t ni ishlatdikku nega 3 ta chizdi?Javob: chunki t -shunchaki bir link edi. biz 3 marta textbox ni dynamic chaqirib qo`shib qo`ydik, bizda faqt link yangilandi. ma`lumot esa shu noma`lum joyda qolib ketdi. ma`lumot turgan link esa yangisiga o`zgarib qoldi.
No comments:
Post a Comment