0Pricing
C# Academy · Lezione

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 allowed

Invertire 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

  1. Il tipo char
  2. Metodi di supporto per char
  3. Iterare sulle stringhe
  4. Costruire stringhe
← Torna a C# Academy