Sobes.tech
Junior — Middle

Leg uit wat de verschillen zijn tussen het inpakken en uitpakken van waarden in een programmeertaal.

sobes.tech AI

Antwoord van AI

In C# is boxing het proces waarbij een waarde van een type (bijvoorbeeld int, bool) wordt omgezet in een object van het type System.Object of in de interface die het implementeert. Bij boxing wordt de waarde gekopieerd naar de beheerde heap en ingepakt in een object.

Unboxing is het tegenovergestelde proces, waarbij een object dat een verpakte waarde bevat, wordt omgezet naar de oorspronkelijke waarde. Tijdens unboxing wordt een typecontrole uitgevoerd en wordt de waarde van het object naar een variabele van het waarde-type gekopieerd.

Voorbeeld:

int x = 123;       // waarde-type
object obj = x;    // boxing
int y = (int)obj;  // unboxing

Boxing en unboxing beïnvloeden de prestaties omdat ze geheugenallocatie en gegevenskopieën vereisen. Ze moeten daarom worden geminimaliseerd, vooral in kritieke codegebieden.