155 Stimmen

Arrays, Heap und Stack und Wertetypen

int[] myIntegers;
myIntegers = new int[100];

Wird im obigen Code mit new int[100] ein Array auf dem Heap erzeugt? Von dem, was ich auf CLR über c# gelesen habe, ist die Antwort ja. Aber was ich nicht verstehen kann, ist, was mit den tatsächlichen int's innerhalb des Arrays passiert. Da es sich um Werttypen handelt, würde ich vermuten, dass sie gepackt werden müssen, da ich zum Beispiel myIntegers an andere Teile des Programms weitergeben kann und es den Stack verstopfen würde, wenn sie die ganze Zeit auf ihm liegen würden. Oder liege ich da falsch? Ich würde vermuten, dass sie einfach gepackt werden und auf dem Heap leben würden, solange das Array existiert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X