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 ба иҷроиш таъсир мерасонанд, зеро онҳо ниёз ба тақсимоти хотира ва нусхабардории маълумот доранд. Аз ин рӯ, онҳоро бояд кам кард, махсусан дар қисмҳои критикии коди.