Sie sind hier: Startseite | Wissen

Was ist Boxing?

Als Boxing wird im .NET Framework die Umwandlung eines Wert-Typs in einen Referenz-Typ bezeichnet (Gegenteil: Unboxing).

Alle Typen im .NET Framework sind Klassen. Jedoch gibt es zwei Arten von Typen: Wertetypen (Werttypen) und Referenztypen.

Wertetypen

  • Werte liegen auf dem Stack
  • existieren als Performanz-Gründen
  • Instanziierung mit new-Operator optional
  • Vergleichoperation vergleicht die Werte
  • Kopieroperation kopiert den Wert

Referenztypen

  • Werte liegen auf dem Heap
  • Zeiger auf den Wert liegt auf dem Stack
  • Instanziierung mit new-Operator notwendig
  • Kopieroperation kopiert den Zeiger
  • Vergleichoperation vergleicht die Zeiger
  • Flache Wertkopie möglich durch Aufruf von MemberWiseClone()
  • Tiefe Wertkopie möglich durch eigene Implementierung (IClonable)

Beispiel für Boxing und Unboxing


   // Beispiel: Werttyp ohne Member
   int i = 1234, i2;
   object oi, oi2;
  
   // Boxing
   oi = i;

   // Unboxing
   i2 = (int) oi;
   // oder:
   i2 = Convert.ToInt32(oi);

Querverweise zu anderen Begriffen im Lexikon

Referenz-Typ
Referenztyp
Wertetyp
Unboxing
Werttyp

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema Boxing  Gesamter Schulungsthemenkatalog