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.