Un array è una variabile che contiene una serie ordinata di valori accessibili attraverso un indice numerico, che parte da zero, e che esprime la posizione dell’elemento all’interno della struttura. Il linguaggio C# mette a disposizione dello sviluppatore molti strumenti per manipolare gli array.

Per creare un array è necessario indicare il tipo di dato (nell’esempio il tipo int) che ospiterà e la sua dimensione (nell’esempio, la dimensione dell’array è 5).

int[] numeri = new int[5];

Nell’esempio viene creato un array di interi. Dopo aver creato l’array si può popolarlo indicando il valore di ogni singolo elemento.

numeri[0] = 20;
numeri[1] = 10;
numeri[2] = 40;
numeri[3] = 30;
numeri[4] = 50;

Infine la posizione d’indice può essere utilizzata anche per ottenere un determinato valore .

Response.Write(numeri[2].ToString() + "<br>"); // 30

Nell’esempio viene stampato il terzo elemento dell’array, quello che si trova nella posizione 2.

In qualche caso i valori possono essere assegnati all’array direttamente nella fase di dichiarazione. I valori sono separati tra loro con una virgola.

int[] numeri = { 20, 10, 40, 30, 50 };

Per stampare tutti gli elementi contenuti possiamo usare un ciclo for e la proprietà Lenght dell’array, che ne restituisce la dimensione.

for (int indice = 0; indice < numeri.Length; indice++ ) {  
  Response.Write(numeri[indice] + "<br>");
}
Introduzione agli array in C# e ASP.NET

Introduzione agli array in C# e ASP.NET

In alternativa si può usare il costrutto foreach che restituirà lo stesso risultato del ciclo for come mostrato nella precedente immagine.

foreach (int n in numeri){
  Response.Write(n + "<br>");
}

L’array dispone di una serie di metodi per le operazioni più comuni.

Il valore minino e massimo presente nell’array

I metodi .Min() e .Max() restituiscono il valore minimo e massimo presente nell’array.

Response.Write(numeri.Max() + "<br>"); // 50
Response.Write(numeri.Min() + "<br>"); // 10

La somma e la media

I metodi .Sum() e .Average() restituiscono rispettivamente la somma e la media dei valori inseriti all’interno dell’array.

Response.Write(numeri.Average() + "<br>"); // 30
Response.Write(numeri.Sum() + "<br>"); // 150

Cercare un valore

Il metodo .Contains() restituisce True se il valore indicato come argomento è presente nell’array.

Response.Write(numeri.Contains(1) + "<br>"); // False

Invertire l’ordine degli elementi

Infine il metodo .Reverse() inverte l’ordine degli elementi.

foreach (int n in numeri.Reverse()){
  Response.Write(n + "<br>");
}

Ordinare gli elementi di un array

Per ordinare gli elementi si può usare il metodo Sort() della classe Array che ordina gli elementi in modo crescente.

int[] numeri = { 20, 10, 40, 30, 50 };
Array.Sort(numeri);
foreach (int n in numeri) {
Response.Write(n + "<br>");
}

// Output: 10 20 30 40 50

Per ordinare gli elementi in modo decrescente si può usare il metodo Reverse() dopo il metodo Sort().

int[] numeri = { 20, 10, 40, 30, 50 };
Array.Sort(numeri);
foreach (int n in numeri.Reverse()){
  Response.Write(n + "<br>");
}
// Output: 50 40 30 20 10

Altre informazioni sono disponibili nella guida ufficiale alla pagina Classe Array.