Anwendungsfälle für das Einrahmen eines Wertetyps in C #?

Es gibt Fälle, in denen eine Instanz eines Wertetyps als Instanz eines Referenztyps behandelt werden muss. In solchen Situationen kann eine Instanz eines Wertetyps durch einen Prozess namens Boxen in eine Instanz eines Referenztyps konvertiert werden. Wenn eine Instanz des Wertetyps in ein Feld eingeschlossen ist, wird Speicher auf dem Heap zugewiesen und der Wert der Instanz in diesen Bereich kopiert. Ein Verweis auf diesen Speicher wird auf den Stapel gelegt. Der umrahmte Wert ist ein Objekt, ein Referenztyp, der den Inhalt der Werttypinstanz enthält.

Grundlegendes zum Common Type System von .NET

ImWikipedia Es gibt ein Beispiel für Java. Aber in C #, was sind einige Fälle, in denen man einen Werttyp boxen müsste? Oder wäre eine bessere / ähnliche Frage, warum man einen Wertetyp lieber auf dem Heap (boxed) als auf dem Stack speichern möchte?

Antworten auf die Frage(9)

Ihre Antwort auf die Frage