C# Tipi Sistem üç Tür içerir, bunlar Değer Türleri, Referans Türleri ve İşaretçi Türleridir. C#, bir Değer Tipini bir Referans Tipine dönüştürmemize ve tekrar Değer Türlerine dönmemize olanak tanır. Bir Değer Tipinin bir Referans Tipine Dönüştürülmesi işlemi Boks olarak adlandırılır ve tersine işlem Unboxing olarak adlandırılır.
Boks
int Val = 1;
Object Obj = Val; //Boxing
biz Değer Türü Val oluşturulan ve Val için bir değer atanmış ilk satırı. İkinci satırda, Obj Obj'nin bir örneğini oluşturduk ve Obj'nin değerini Obj'ye atadık.Yukarıdaki işlemden (Obje Obj = i), bir Değer Tipinin bir değerinin, karşılık gelen bir Referans Tipinin bir değerine dönüştürülmesini gördük. Bu tip operasyonlara Boks denir.
Unboxing
int Val = 1;
Object Obj = Val; //Boxing
int i = (int)Obj; //Unboxing
ilk iki satır bir değer Tipi Kutu nasıl gösterir. Sonraki satır (int i = (int) Obj), Nesne'den Değer Türünü ayıklar gösterir. Bu, bir Referans Tipinin bir değerini bir Değer Tipinin değerine dönüştürmektir. Bu işlem UnBoxing olarak adlandırılır.
Boks ve UnBoxing, hesaplama açısından pahalı süreçlerdir. Bir değer türü kutulu olduğunda, tamamen yeni bir nesne tahsis edilmeli ve oluşturulmalıdır, ayrıca Unboxing için gerekli olan döküm de hesaplama açısından pahalıdır
hızlı yanıt için teşekkür ederiz. Başka cevap bekliyorum! – LaysomeSmith