Sobes.tech
Junior — Middle

Obyektlərin yerləşdirilməsi və paketlənməsi prosesləri arasındakı fərqləri və referens və dəyər parametrlərinin ötürülməsi arasındakı fərqləri, referens tipləri və strukturlarla işləmə kontekstində izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində:

Boxing (qutulama) — bir dəyər növünü (məsələn, struktur) referans növü obyektinə (object) çevirmək prosesi. Bu, dəyərin yığında bir nüsxəsini yaradır.

Unboxing (qutudan çıxarma) — əks proses, obyektin içindən dəyəri çıxarıb yenidən dəyər növünə çevirmək.

Misal:

int x = 123;          // dəyər növü
object o = x;         // qutulama
int y = (int)o;       // qutudan çıxarma

Parametrlərin ötürülməsi:

  • Dəyər üzrə (dəyər növləri üçün standart): dəyər kopyalanır, metod daxilində dəyişikliklər orijinalı təsir etmir.
  • Referansla (ref, out): dəyişənə referans ötürülür, metod daxilində dəyişikliklər orijinalı təsir edir.

Referans növləri üçün, referansın nüsxəsi ötürülür, obyekt deyil. Obyektin sahələrindəki dəyişikliklər xaricdən görünür, amma referansın yenidən təyin edilməsi — yox.

Qısa:

  • Qutulama — dəyər növünü object-ə çevirmək.
  • Çıxarma — object-dən dəyər növünü çıxarma.
  • Dəyər üzrə ötürmə — məlumatların nüsxəsi.
  • Referansla ötürmə — məlumatlara referans ötürülür.