Ich lese gerade auf C# -Arrays, so meine Frage ist zunächst auf Arrays.Was bedeutet eigentlich das Deklarieren und Instanziieren eines C# -Arrays?
Was bedeutet eigentlich das Deklarieren eines Arrays? Ich weiß, dass Sie eine Variable vom Typ Array deklarieren. Wenn ich folgendes habe, was passiert eigentlich?
int[] values;
Ist es im Speicher, bis es erklärt wird? Wenn nicht, wo ist es dann? Ist das Array tatsächlich hier erstellt?
Dann gehe ich und instanziiert ein das Array und initialisiert es mit einigen Werten wie:
int[] values = new int[] { 1, 2, 3 };
Enthält diese tatsächlich gehen und das Array jetzt schaffen? Ich habe gelesen, dass Arrays erstellt werden, wenn sie deklariert werden, andere sagen, dass Arrays erstellt werden, wenn sie instanziiert werden. Ich versuche, meine Terminologie richtig zu machen.
Das Gleiche gilt für eine Integer-Variable. Wenn ich habe:
int value;
und
int value = 1;
Wenn int erstellt? Wann wird es dem Speicher hinzugefügt?
Sorry für die dummen Fragen. Ich verstehe das Konzept, möchte aber die technischen Hintergründe von Arrays kennen.
Wenn man es wörtlich nimmt, ist das Schlüsselwort 'new' nicht nötig um ein Array Objekt zu erstellen , Sie können auch etwas wie 'int [] values = {1, 2, 3}; 'schreiben. Obwohl Sie das als eine Abkürzung für die vollständige Syntax mit 'new' betrachten könnten. – svick
@Hans: Bedeutet das Deklarieren einer Array-Referenz irgendeinen Speicher? Oder nur wenn das Array erstellt wird? –
Es tut, die Größe eines Zeigers. 4 Bytes im 32-Bit-Prozess, 8 Bytes in einem 64-Bit-Prozess. Der Speicher für die Referenz folgt denselben Regeln wie für einen Werttyp Wert. –