Iterare sulle stringhe
Stringhe come sequenze di char.
Iterare sulle stringhe è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.
Le stringhe sono sequenze
Una string è una sequenza ordinata di valori char.
Questo significa che è possibile scorrere una stringa ed esaminare un carattere alla volta. L'iterazione consente di esaminare, contare o trasformare i caratteri del testo.
string text = "Hello";
// 'H', 'e', 'l', 'l', 'o'La proprietà Length
Ogni string ha una proprietà Length che indica quanti caratteri contiene.
Utilizzerà Length per controllare i cicli e per conoscere l'ultimo indice valido, che è sempre Length - 1.
class Program
{
static void Main()
{
string text = "Hello";
System.Console.WriteLine(text.Length);
}
}Iterazione con foreach
Il modo più semplice per visitare ogni carattere consiste nell'utilizzare un ciclo foreach.
Il ciclo fornisce un valore char a ogni iterazione, senza richiedere un indice. È l'opzione più chiara quando non è necessario conoscere la posizione.
class Program
{
static void Main()
{
string text = "Hi!";
foreach (char c in text)
System.Console.WriteLine(c);
}
}Iterazione con for e indice
Un ciclo for fornisce l'indice, necessario quando la posizione è importante.
Faccia avanzare l'indice da 0 fino a Length - 1 e legga ogni carattere con text[i].
class Program
{
static void Main()
{
string text = "Hi!";
for (int i = 0; i < text.Length; i++)
System.Console.WriteLine(text[i]);
}
}Gli indici iniziano da zero
I caratteri sono numerati a partire da 0, quindi il primo carattere si trova all'indice 0.
Per "Code", text[0] è 'C' e text[3] è 'e'. La lettura di un indice troppo grande genera un errore.
string text = "Code";
char first = text[0]; // 'C'
char last = text[3]; // 'e'Conteggio di caratteri specifici
L'iterazione consente di contare i caratteri che soddisfano una condizione.
Questo programma conta quante vocali sono presenti in una parola verificando ogni carattere rispetto a un piccolo insieme.
class Program
{
static void Main()
{
string text = "banana";
int count = 0;
foreach (char c in text)
if (c == 'a') count++;
System.Console.WriteLine(count);
}
}Combinare con i metodi di supporto di char
All'interno di un ciclo è possibile chiamare i metodi di supporto di char appresi in precedenza.
Ad esempio, è possibile contare solo le cifre presenti in una stringa verificando ogni carattere con char.IsDigit.
class Program
{
static void Main()
{
string text = "a1b2c3";
int digits = 0;
foreach (char c in text)
if (char.IsDigit(c)) digits++;
System.Console.WriteLine(digits);
}
}Creare un risultato trasformato
È possibile eseguire un'iterazione e raccogliere man mano un nuovo risultato.
Questo ciclo legge ogni carattere, lo converte in maiuscolo con char.ToUpper e lo stampa. La stringa originale non viene mai modificata perché le stringhe sono immutabili.
class Program
{
static void Main()
{
string text = "loud";
foreach (char c in text)
System.Console.Write(char.ToUpper(c));
}
}Le stringhe sono immutabili
Non è possibile modificare direttamente un carattere con text[0] = 'X'; questo genera un errore di compilazione.
Le stringhe sono immutabili, ovvero i loro caratteri non cambiano mai. Per ottenere un testo diverso, è necessario creare una nuova stringa invece di modificare quella precedente.
string text = "cat";
// text[0] = 'b'; // not allowedInvertire con l'iterazione
Eseguendo l'iterazione dall'ultimo indice fino a 0, è possibile stampare i caratteri in ordine inverso.
Inizi l'indice da Length - 1 e lo decrementi finché non raggiunge 0.
class Program
{
static void Main()
{
string text = "abc";
for (int i = text.Length - 1; i >= 0; i--)
System.Console.Write(text[i]);
}
}foreach vs for
Utilizzi foreach quando Le serve ogni carattere, ma non la sua posizione.
Utilizzi un ciclo for quando Le serve l'indice, quando desidera saltare alcuni caratteri o quando vuole scorrere i caratteri in un ordine personalizzato, ad esempio al contrario. Entrambi visitano gli stessi caratteri.
Verifica rapida
Verifichi la Sua comprensione dell'iterazione sulle stringhe.
Riepilogo
Una string è una sequenza di caratteri che è possibile scorrere.
Utilizzi foreach per una semplice iterazione e un ciclo for con un indice quando la posizione è importante. La proprietà Length fornisce il conteggio, gli indici iniziano da 0 e le stringhe sono immutabili, quindi la trasformazione del testo crea sempre una nuova stringa.
Domande Frequenti
La lezione «Iterare sulle stringhe» è gratuita?
Sì — il testo completo di «Iterare sulle stringhe» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.
Cosa imparerò in «Iterare sulle stringhe»?
Stringhe come sequenze di char. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Iterare sulle stringhe»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Il tipo char
- Metodi di supporto per char
- Iterare sulle stringhe
- Costruire stringhe