0Pricing
C# Academy · Aula

Iterando sobre strings

Strings como sequências de caracteres.

Iterando sobre strings é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

Cadeias de caracteres são sequências

Uma string é uma sequência ordenada de valores char.

Isso significa que você pode percorrer uma cadeia de caracteres e examinar um caractere por vez. A iteração é a forma de inspecionar, contar ou transformar os caracteres do texto.

string text = "Hello";
// 'H', 'e', 'l', 'l', 'o'

A propriedade Length

Toda string tem uma propriedade Length que informa quantos caracteres ela contém.

Você usará Length para controlar laços e saber qual é o último índice válido, que é sempre Length - 1.

class Program
{
    static void Main()
    {
        string text = "Hello";
        System.Console.WriteLine(text.Length);
    }
}

Iteração com foreach

A forma mais simples de visitar cada caractere é usar um laço foreach.

Ele fornece um char a cada iteração sem exigir um índice. Essa é a opção mais limpa quando você não precisa saber a posição.

class Program
{
    static void Main()
    {
        string text = "Hi!";
        foreach (char c in text)
            System.Console.WriteLine(c);
    }
}

Iteração com for e índice

Um laço for fornece o índice, necessário quando a posição é importante.

Faça o índice variar de 0 até Length - 1 e leia cada caractere com text[i].

class Program
{
    static void Main()
    {
        string text = "Hi!";
        for (int i = 0; i < text.Length; i++)
            System.Console.WriteLine(text[i]);
    }
}

A indexação começa em zero

Os caracteres são numerados a partir de 0, portanto o primeiro caractere está no índice 0.

Para "Code", text[0] é 'C' e text[3] é 'e'. Ler um índice grande demais gera um erro.

string text = "Code";
char first = text[0]; // 'C'
char last = text[3];  // 'e'

Contando caracteres específicos

A iteração permite contar caracteres que correspondem a uma condição.

Este programa conta quantas vogais há em uma palavra, verificando cada caractere em relação a um pequeno conjunto.

class Program
{
    static void Main()
    {
        string text = "banana";
        int count = 0;
        foreach (char c in text)
            if (c == 'a') count++;
        System.Console.WriteLine(count);
    }
}

Combinando com auxiliares de char

Dentro de um laço, você pode chamar os auxiliares de char que aprendeu anteriormente.

Por exemplo, conte apenas os dígitos de uma cadeia de caracteres testando cada caractere com 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);
    }
}

Criando um resultado transformado

Você pode iterar e coletar um novo resultado à medida que avança.

Este laço lê cada caractere, converte-o para maiúscula com char.ToUpper e o exibe. A cadeia de caracteres original nunca é alterada, pois as cadeias de caracteres são imutáveis.

class Program
{
    static void Main()
    {
        string text = "loud";
        foreach (char c in text)
            System.Console.Write(char.ToUpper(c));
    }
}

Cadeias de caracteres são imutáveis

Você não pode alterar um caractere diretamente com text[0] = 'X'; isso é um erro de compilação.

As cadeias de caracteres são imutáveis, o que significa que seus caracteres nunca mudam. Para obter um texto diferente, você cria uma nova cadeia de caracteres em vez de editar a antiga.

string text = "cat";
// text[0] = 'b'; // not allowed

Invertendo com iteração

Ao iterar do último índice até 0, você pode exibir os caracteres na ordem inversa.

Comece o índice em Length - 1 e decremente-o até chegar a 0.

class Program
{
    static void Main()
    {
        string text = "abc";
        for (int i = text.Length - 1; i >= 0; i--)
            System.Console.Write(text[i]);
    }
}

foreach versus for

Use foreach quando precisar apenas de cada caractere, e não da sua posição.

Use um laço for quando precisar do índice, quiser ignorar caracteres ou percorrer os caracteres em uma ordem personalizada, como a ordem inversa. Ambos percorrem os mesmos caracteres.

Verificação rápida

Teste a sua compreensão sobre a iteração em cadeias de caracteres.

Recapitulação

Uma string é uma sequência de caracteres que você pode percorrer em um laço.

Use foreach para uma iteração simples e um laço for com um índice quando a posição for importante. A propriedade Length informa a quantidade, os índices começam em 0 e as cadeias de caracteres são imutáveis; portanto, transformar um texto sempre cria uma nova cadeia de caracteres.

Perguntas Frequentes

A aula “Iterando sobre strings” é grátis?

Sim — o texto completo de “Iterando sobre strings” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “Iterando sobre strings”?

Strings como sequências de caracteres. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Iterando sobre strings”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O tipo char
  2. Métodos auxiliares de char
  3. Iterando sobre strings
  4. Construindo strings
← Voltar para C# Academy