Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der C#-Boxing- und Unboxing-Prinzipien

Detaillierte Erläuterung der C#-Boxing- und Unboxing-Prinzipien

高洛峰
高洛峰Original
2017-01-24 14:27:301597Durchsuche

.NET enthält eine spezielle Objektklasse, die Werte jedes Datentyps akzeptieren kann. Wenn der übergebene oder zugewiesene Typ kein bestimmter Datentyp ist, stellt die Objektklasse eine allgemeine Methode zum Übergeben von Parametern und Zuweisen von Werten bereit. Der dem Objekt zugewiesene Wert muss vom Referenztyp sein und im verwalteten Heap gespeichert sein.

Boxing:
int age = 24;
object refAge= age;
Wie Sie sehen können, erstellt die erste Anweisung eine Variable age und platziert den Wert auf dem verwalteten Stapel ;
Die zweite Anweisung weist dem Referenztyp den Wert „Alter“ zu. Es platziert den Wert 24 im verwalteten Heap.
Der Prozess des Packens dieses Werttyps in einen Referenztyp wird als Boxen bezeichnet.

Detaillierte Erläuterung der C#-Boxing- und Unboxing-Prinzipien

Unboxing:
Im Gegensatz dazu wird der Prozess der Konvertierung eines Referenztyps in einen Werttyp als Unboxing bezeichnet. Durch das Auspacken wird das Objekt in seinen ursprünglichen Typ zurückversetzt. Entpacken Sie das vorherige Objekt.
int newAge = (int) refAge;
string newAge = (String) refAge;
Der entpackte Wert muss vom gleichen Typ sein wie die Variable, in die er konvertiert wird.

Detaillierte Erläuterung der C#-Boxing- und Unboxing-Prinzipien

Haben Sie anhand der einfachen Abbildung oben ein allgemeines Verständnis für die Prinzipien des C#-Boxens und -Unboxings?

Mehr C#-Boxen und -Unboxing Bitte beachten Sie Auf der chinesischen PHP-Website finden Sie verwandte Artikel mit ausführlicher Erklärung des Prinzips!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn