Condividi tramite


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

Guida per programmatori C#

Riferimenti

Matrici (Guida per programmatori C#)

Matrici multidimensionali (Guida per programmatori C#)

Matrici irregolari (Guida per programmatori C#)

Array