Gli array costituiscono un pilastro fondamentale nella programmazione, fornendo un modo efficiente per archiviare e gestire una serie di elementi dello stesso tipo. In C#, gli array sono strumenti essenziali per l’organizzazione dei dati, consentendo un accesso diretto agli elementi tramite un indice numerico.
In quest’articolo, esamineremo da vicino il concetto di array, impareremo a crearli, ad accedere e modificare i loro elementi, a eseguire cicli attraverso for e foreach, e infine vedremo alcuni metodi utili per lavorare con gli array.
Definizione di Array
Un array è una collezione di elementi omogenei, ovvero dello stesso tipo, che vengono memorizzati in posizioni di memoria consecutive. A ciascun elemento dell’array viene associato un indice univoco che inizia da zero e incrementa sequenzialmente. Gli array sono impiegati per raggruppare dati che devono essere trattati come un’unica entità .
Sintassi
La sintassi per creare un array in C# è la seguente:
Tipo[] nomeArray = new Tipo[dimensione];
dove Tipo è il tipo di array che vogliamo utilizzare, ad esempio un int:
int[] numeri = new int[5]; // Crea un array di interi con 5 elementi, di valore 0
Accesso agli elementi
Possiamo accedere agli elementi di un array utilizzando l’indice, che inizia da zero.
int primo = numeri[0]; int secondo = numeri[1];
Modifica elementi
Possiamo modificare gli elementi dell’array assegnando un nuovo valore tramite l’uso degli indici.
numeri[1] = 5; // Modifica il valore del secondo elemento e lo imposta a 5
Ciclo for Array
Possiamo utilizzare un ciclo for per scorrere gli elementi di un array utilizzando gli indici.
for (int i = 0; i < numeri.Length; i++) { Console.WriteLine(numeri[i]); }
Ciclo foreach Array
Il ciclo foreach semplifica la struttura, permettendo di nascondere i dettagli dell’indice
foreach (int numero in numeri) { Console.WriteLine(numero); }
Metodi utili
All’interno del C#, abbiamo vari metodi che permettono di lavorare con gli array.
int[] numeri = new numeri[] { 1, 2, 3, 4, 5, 6 }; // Restituisce la lunghezza dell'array int lunghezza = numeri.Length; // Restituisce l'indice del primo elemento di valore 2 int indice = Array.IndexOf(numeri, 2); // Restituisce true se trova l'elemento di valore 7, false altrimenti bool contiene = Array.Contains(numeri, 7); // Ordina gli elementi Array.Sort(numeri); // Ordina ma in maniera inversa Array.Reverse(numeri); // Copia 3 elementi dell'array numeri, dentro l'array copia int[] copia = new int[3]; Array.Copy(numeri, copia, 3); // Cancella gli elementi dell'array dalla posizione di indice 0 fino alla 5. Array.Clear(numeri, 0, 5);
Array Multidimensionali
Un array multidimensionale è una matrice di elementi, e ad ogni elemento vengono associati 2 o più indici.
float[,] matrice = new float[5, 5]; // Crea una matrice 5x5 di float
Per accedere ai singoli elementi utilizziamo questa sintassi:
float valore = matrice[2, 1]; // Prendiamo l'elemento nella prima riga e seconda colonna
Per scorrere gli elementi di una matrice, possiamo utilizzare un ciclo for annidato:
for (int riga = 0; riga < matrice.GetLength(0); riga++) { for (int colonna = 0; colonna < matrice.GetLength(1); colonna++) { Console.Write(matrice[riga, colonna] + " "); } Console.WriteLine(); }