Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความแตกต่างระหว่าง Boxing และ Unboxing ใน C #


Boxing แปลงประเภทค่าเป็นประเภทวัตถุในขณะที่ Unboxing จะแปลงประเภทวัตถุเป็นประเภทค่า

ให้เราดูความแตกต่างระหว่าง Boxing และ Unboxing ใน C#

ที่เก็บข้อมูล

ในการชกมวย ค่าที่เก็บไว้ในสแต็กจะถูกคัดลอกไปยังวัตถุที่เก็บไว้ในหน่วยความจำฮีป ในขณะที่การแกะกล่องจะตรงกันข้าม

ใน Unboxing ค่าของอ็อบเจ็กต์ที่เก็บไว้ในหน่วยความจำฮีปจะถูกคัดลอกไปยังประเภทค่าที่จัดเก็บไว้ในสแต็ก

การแปลง

การแกะกล่องมีการแปลงที่ชัดเจนในขณะที่การแกะกล่องมีการแปลงโดยนัย

ตัวอย่าง

int a = 10;
object obj = a;  // boxing
int b = (int) ob; // unboxing