Sto leggendo su array C# quindi la mia domanda è inizialmente sugli array.Che cosa significa in realtà dichiarare e istanziare un array C#?
Che cosa significa dichiarare un array in realtà? So che dichiari una variabile di tipo array. Quando ho il seguente, cosa sta realmente accadendo?
int[] values;
È in memoria dal momento in cui viene dichiarato? Se no, allora dove si trova? La matrice è effettivamente creata qui?
Poi vado e un'istanza di un matrice e inizializzarlo con alcuni valori come:
int[] values = new int[] { 1, 2, 3 };
fa questo in realtà andare e creare l'array adesso? Ho letto che gli array vengono creati quando vengono dichiarati, altri dicono che gli array vengono creati quando vengono istanziati. Sto cercando di ottenere la mia terminologia giusta.
Lo stesso vale per una variabile intera. Se ho:
int value;
e
int value = 1;
quando è int creato? Quando viene aggiunto alla memoria?
Ci scusiamo per le domande stupide. Capisco il concetto, ma vorrei conoscere la tecnicità dietro le quinte degli array.
Se lo prendi alla lettera, la parola chiave 'new' non è necessaria per creare un oggetto array , puoi anche scrivere qualcosa come 'int [] values = {1, 2, 3};'. Anche se potresti considerarlo come una scorciatoia per la sintassi completa con 'new'. – svick
@Hans: la dichiarazione di un riferimento di matrice occupa memoria? O solo quando viene creato l'array? –
Lo fa, la dimensione di un puntatore. 4 byte nel processo a 32 bit, 8 byte in un processo a 64 bit. L'archiviazione per il riferimento segue le stesse regole di un valore di tipo valore. –