Matrici unidimensionali (Guida per programmatori C#)
Aggiornamento: novembre 2007
È possibile dichiarare una matrice composta da cinque valori integer, come nell'esempio che segue:
int[] array = new int[5];
Questa matrice contiene gli elementi da array[0] a array[4] compresi. L'operatore new viene utilizzato per creare la matrice e inizializzarne gli elementi con i corrispondenti valori predefiniti. In questo esempio tutti gli elementi della matrice sono inizializzati a zero.
Allo stesso modo è possibile dichiarare una matrice contenente elementi stringa. Esempio:
string[] stringArray = new string[6];
Inizializzazione di una matrice
È possibile inizializzare una matrice al momento della dichiarazione, nel qual caso non è necessario specificarne il numero di dimensioni, in quanto è già fornito dal numero di elementi presente nell'elenco di inizializzazione. Esempio:
int[] array1 = new int[] { 1, 3, 5, 7, 9 };
Allo stesso modo, è possibile inizializzare una matrice di stringhe. Di seguito è illustrata la dichiarazione di una matrice di stringhe in cui ciascun elemento della matrice è inizializzato con il nome di un giorno della settimana:
string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
Quando si inizializza una matrice al momento della dichiarazione, è possibile utilizzare le seguenti abbreviazioni:
int[] array2 = { 1, 3, 5, 7, 9 };
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
È possibile dichiarare una variabile di matrice senza inizializzazione, ma sarà necessario utilizzare l'operatore new quando si assegna una matrice a questa variabile. Esempio:
int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 }; // OK
//array3 = {1, 3, 5, 7, 9}; // Error
In C# 3.0 vengono introdotte le matrici tipizzate in modo implicito. Per ulteriori informazioni, vedere Matrici tipizzate in modo implicito (Guida per programmatori C#).
Matrici di tipo valore e di tipo riferimento
Si consideri la seguente dichiarazione di matrice:
SomeType[] array4 = new SomeType[10];
Il risultato di questa istruzione è diverso a seconda che SomeType sia un tipo di valore o un tipo di riferimento. Se si tratta di un tipo valore, l'istruzione crea una matrice di 10 istanze del tipo SomeType. Se SomeType è un tipo di riferimento, l'istruzione creerà una matrice di 10 elementi, ciascuno dei quali verrà inizializzato con un riferimento a null.
Per ulteriori informazioni sui tipi valore e sui tipi riferimento, vedere Tipi (Riferimenti per C#).
Vedere anche
Concetti
Riferimenti
Matrici (Guida per programmatori C#)
Matrici multidimensionali (Guida per programmatori C#)