Compartilhar via


foreach, (C# Reference)

A declaração de foreach repete um grupo de instruções inseridos para cada elemento de uma matriz ou uma coleção do objeto que implementa a interface de System.Collections.IEnumerable ou de System.Collections.Generic.IEnumerable<T> .A declaração de foreach é usada para iterar através da coleção para obter informações que você deseja, mas não pode ser usada para adicionar ou remover itens da coleção de origem para evitar efeitos colaterais imprevisíveis.Se você precisa adicionar ou remover itens da coleção de origem, use um loop de para .

As instruções inseridos continuar a executar para cada elemento na matriz ou na coleção.Após a iteração foi concluída para todos os elementos na coleção, o controle será transferido da instrução a seguir após o bloco de foreach .

Em qualquer ponto dentro do bloco de foreach , você pode quebrar do loop usando a palavra-chave de interrupção , ou a etapa para a próxima iteração do loop usando a palavra-chave de continue .

Um loop de foreach também pode ser saído por goto, por retorno, ou por declarações de throw .

Para obter mais informações sobre a palavra-chave e de exemplos de código de foreach , consulte os seguintes tópicos:

O uso de foreach com matrizes (guia de programação C#)

Como: acessar uma classe de coleção com foreach (guia de programação C#)

Exemplo

O código a seguir mostra três exemplos a seguir:

  • um loop típico de foreach que exibe o conteúdo de uma matriz de inteiros

  • um loop de para que faz a mesma coisa

  • um loop de foreach que mantém uma contagem do número de elementos no array

class ForEachTest
{
    static void Main(string[] args)
    {
        int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
        foreach (int element in fibarray)
        {
            System.Console.WriteLine(element);
        }
        System.Console.WriteLine();


        // Compare the previous loop to a similar for loop.
        for (int i = 0; i < fibarray.Length; i++)
        {
            System.Console.WriteLine(fibarray[i]);
        }
        System.Console.WriteLine();


        // You can maintain a count of the elements in the collection.
        int count = 0;
        foreach (int element in fibarray)
        {
            count += 1;
            System.Console.WriteLine("Element #{0}: {1}", count, element);
        }
        System.Console.WriteLine("Number of elements in the array: {0}", count);
    }
    // Output:
    // 0
    // 1
    // 1
    // 2
    // 3
    // 5
    // 8
    // 13

    // 0
    // 1
    // 1
    // 2
    // 3
    // 5
    // 8
    // 13

    // Element #1: 0
    // Element #2: 1
    // Element #3: 1
    // Element #4: 2
    // Element #5: 3
    // Element #6: 5
    // Element #7: 8
    // Element #8: 13
    // Number of elements in the array: 8
}

Especificação da linguagem C#

Para obter mais informações, consulte Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.

Consulte também

Referência

Palavras-chave C#

Instruções de iteração (referência de C#)

para (C# referência)

Conceitos

Guia de programação do C#

Outros recursos

Referência de C#