Einführung
In C#ist Lade und Boxen ein notwendiger Mechanismus für verschiedene Verhaltensweisen koordinierter Werte und Referenztypen. Ihre Zweck- und Anwendungsfälle können jedoch Programmierer verwirren. Dieser Leitfaden verdeutlicht, warum diese Konzepte von entscheidender Bedeutung sind und Beispiele für praktische Anwendungen.Die Bedeutung von
Boxen und BoxenIncuffing und Boxing erlaubt C#, ein einheitliches Typ System
zu verwalten, damit der Wert -Typ und der Referenztyp konsequent interagieren und verarbeitet werden können. Werttypen (wie kurz und int) speichern ihre Daten direkt in Variablen. Stattdessen verweist der Referenztyp auf die zugrunde liegenden Objekte in anderen Positionen im Speicher.Um die nahtlose Interaktion zwischen diesen verschiedenen Datenstrukturen zu fördern, erstellt das Feld ein Verpackungsobjekt, das die Werttypdaten enthält, damit es wie ein Referenztyp behandelt werden kann. Auf diese Weise kann es den Betriebsart in der Datenstruktur einfach speichern und bedienen, die als Referenztyp ausgelegt sind.
Anwendungsszenarien zum Boxen und Boxen
Ein klassischer Anwendungsfall für das Packen ist von hinterlassen, der nur Objekte akzeptiert. Diese Sets müssen gepackt werden, um den Werttyp zu speichern, wie im Beispiel der ArrayList gezeigt:
Short s = 25; Objekt objshort = s; // packing In der Ära von
in modernshort s = 25;
object objshort = s; // 装箱
Versteckte Konvertierung: Die versteckte Konvertierung zwischen dem Paketverarbeitungswerttyp und dem Referenztyp, zum Beispiel: ]
double e = 2.718281828459045; int ee = (int) e;double e = 2.718281828459045;
int ee = (int)e; // 从double到int的隐式转换(需要装箱)
Details, die auf double e = 2.718281828459045;
object o = e; // 装箱
int ee = (int)(double)o; // 拆箱和显式转换
Verhalten kopieren: Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3