Poiché è possibile accedere a un carattere tramite indice, è possibile utilizzare un ciclo variabile per iterare su tutti i caratteri , che assumerà possibili valori di indice. Ad esempio, un programma che visualizza tutti i codici dei caratteri della stringa s avrà il seguente aspetto:
for (int i = 0; i < s.Length; i++)
{
Console.WriteLine(s[i]);
Console.WriteLine(Convert.ToInt32(s[i]));
}
Note sul programma:
1) s.Length
trova la lunghezza di una stringa. L'indice del primo carattere è 0 e l'indice dell'ultimo è s.Length-1
. La variabile del ciclo i assumerà solo valori in sequenza da 0 a s.Length
-1
;
2) in ogni riga verrà visualizzato prima il simbolo stesso e poi il suo codice, ottenibile tramite il metodo Convert.ToInt32()
;
La stessa enumerazione può essere scritta più breve:
foreach (carattere c in s)
{
Console.WriteLine(c);
Console.WriteLine(Convert.ToInt32(c));
}
In questo frammento, l'intestazione del ciclo scorre attraverso tutti i s caratteri, inserendoli uno per uno nella variabile c.
La particolarità di C# quando si lavora con le stringhe è che le stringhe sono oggetti immutabili. In altre parole, non possiamo modificare i singoli caratteri di una stringa.
Ad esempio, la seguente istruzione non funzionerà:
s[5]=" ";