Sobes.tech
Junior — Middle

Тавзеҳ диҳед фарқиятҳои байни равандҳои бастабандӣ ва бозбастани арзишҳо дар забони барномасозӣ.

sobes.tech AI

Ҷавоб аз AI

Дар C# boxing — ин раванди табдил додани арзиши намуди (масалан, int, bool) ба объекти навъи System.Object ё дар интерфейсе, ки он иҷро мекунад. Дар boxing арзиш ба ёдгории идорашаванда кӯчонида мешавад ва дар объекти пӯшонида мешавад.

Unboxing — ин раванди муқобил аст, ки дар он объекти дорои арзиши пӯшида ба арзиши аслии худ баргардонида мешавад. Дар unboxing, санҷиши навъи иҷро мешавад ва арзиш аз объекти ба тағйирёбандаи навъи арзишӣ кӯчонида мешавад.

Масал:

int x = 123;       // навъи арзишӣ
object obj = x;    // boxing
int y = (int)obj;  // unboxing

Boxing ва unboxing ба иҷроиш таъсир мерасонанд, зеро онҳо ниёз ба тақсимоти хотира ва нусхабардории маълумот доранд. Аз ин рӯ, онҳоро бояд кам кард, махсусан дар қисмҳои критикии коди.