Programmare in C# – Vettori (Arrays)
In questo tutorial vedremo come gestire gli arrays in C#.
Innanzitutto bisogna sapere che un array è una variabile che contiene più elementi che vengono gestiti tramite un indice.
Gli arrays in C# vanno dichiarati specificando il nome, la dimensione ed il tipo di dati che devono contenere.
Possiamo creare arrays di qualunque tipo (numerica, stringa, ecc.). Nell’esempio che segue vedremo come creare un array di numeri interi:
int[] myNum = { 2, 9, 17 };
In questo modo dichiariamo un array intero a 3 elementi di nome “myNum” ed assegniamo ad esso 3 valori. Se vogliamo modificare un valore, ad esempio il primo, ci basta usare il nome dell’array seguito dalle parentesi quadre con all’interno l’indice numerico a cui ci riferiamo (tenendo conto che l’indice parte da 0).
Vediamo un altro esempio:
using System;
class Esempio {
public static void Main() {
// definisco la mia array
int[] myNum = { 2, 9, 17 };
// modifico il valore del primo elemento
myNum[0] = 11;
Console.WriteLine("Primo elemento: {0}", myNum[0]);
Console.ReadLine();
}
}
Nell’esempio qui sopra abbiamo modificato il primo valore (quello con indice zero) che passa da 2 a 11.
Se, invece, avessimo scritto:
myNum[3] = 16;
avremmo ricevuto un errore, poiché gli elementi dell’array sono solo 3 mente l’indice 3 starebbe ad indicare un quarto elemento che, invece, non esiste nella nostra array.
La cosa fondamentale, quando si definisce un array, è sempre specificare il numero di elementi di cui è composta.
Vediamo un nuovo esempio:
// definisco la mia array
string[] myStrings = new string[2];
// Popolo la mia array
myStrings[0] = "primo elemento";
myStrings[1] = "secondo elemento";
Sopra vediamo un array di tipo stringa nella cui dichiarazione viene specificato il numero di elementi di cui è composto (nel nostro esempio sono 2).
Se invece avete necessità di gestire indici indefiniti potete ricorrere al ArrayList.
Ora vediamo la sintassi:
ArrayList myList = new ArrayList();
Anche qui viene dichiarato tramite l’operatore new:
using System;
using System.Collections;
class Esempio
{
public static void Main()
{
ArrayList myList = new ArrayList();
myList.Add("Nuovo Valore");
Console.WriteLine("Primo elemento: {0}", myList[0]);
Console.WriteLine("Altri elementi: {0}", myList.Count);
Console.ReadLine();
}
}
Nell’esempio sopra abbiamo creato un array con arraylist e, in seguito, abbiamo utilizzato il metodo Add per aggiungere un elemento all’array specificandone il valore. La proprietà Count di questo costrutto è fondamentale per capire la dimensione del nostro arraylist.
Aggiungere, inserire e rimuovere elementi dall’array
Nell’esempio precedente abbiamo visto come aggiungere elementi ad un array utilizzando il metodo Add:
myList.Add("Nuovo Valore");
Al posto di Add, tuttavia, avremmo potuto aggiungere un elemento con la sintassi già vista sopra, cioè:
myList[0] = "Nuovo Valore";
Col metodo Add l’indice all’elemento è assegnato automaticamente mentre, in questo modo, deve essere dichiarato esplicitamente dallo sviluppatore.
Possiamo anche inserire un valore ad una certa posizione utilizzando il metodo Insert e, in questo caso, tutti gli elementi dell’arraylist vengono spostati di conseguenza.
myList.Insert(0,"Var1");
Per rimuovere un elemento da un array, invece, è possibile utilizzare il metodo Remove in questo modo:
myList.Remove("Nuovo Valore");
Nel caso sopra si rimuove l’elemento facendo riferimento non al suo indice ma al suo valore. Volendo eliminare un elemento dell’array specificandone l’indice si ricorre al metodo RemoveAt:
myList.RemoveAt(0);
Nel caso sopra abbiamo rimosso il primo elemento dell’arraylist. Se invece volessimo rimuovere tutti gli elementi dell’arraylist possiamo fare ricorso al metodo Clear in questo modo:
myList.Clear()
Utilizzare gli arrays (o vettori) è abbastanza semplice. Ora, quello che occorre è soltanto un po’ di pratica.