Sobes.tech
Junior — Middle

Тавзеҳ диҳед фарқиятҳои байни равандҳои паҳнкунӣ ва бастабандии объектҳо, инчунин байни интиқоли параметрҳо тавассути истинод ва арзиш дар контексти кор бо намудҳои истинодӣ ва сохторҳо.

sobes.tech AI

Ҷавоб аз AI

Дар C#:

Boxing (боксинг) — равандигии табдили арзиши навъи (масалан, сохтор) ба объекти навъи истинодӣ (object). Ин нусхаи арзишро дар куча месозад.

Unboxing (боксингро кушодан) — раванди баръакс, кашидани арзиш аз объект ба навъи арзишӣ.

Масал:

int x = 123;          // навъи арзишӣ
object o = x;         // боксинг
int y = (int)o;       // боксингро кушодан

Пасдар кардани параметрҳо:

  • Ба арзиш (аз ҷониби арзиш барои навъҳои арзишӣ): арзиш нусхабардорӣ мешавад, тағирот дар дохили метод ба оригинал таъсир намерасонад.
  • Ба истинод (ref, out): истинод ба тағирёбро мегирад, тағирот дар дохили метод ба оригинал таъсир мерасонад.

Барои навъҳои истинодӣ, нусхаи истинод дода мешавад, на объект. Тағирот дар майдонҳои объект дар дохили метод дар беруни он намоён аст, аммо тағир додани истинод — не.

Хулоса:

  • Боксинг — пӯшонидани навъи арзишӣ дар object.
  • Unboxing — кашидани навъи арзишӣ аз object.
  • Пасдар кардани ба арзиш — нусхаи маълумот.
  • Пасдар кардани ба истинод — интиқоли истинод ба маълумот.