para cada um, no
Itera por meio de uma matriz ou coleção. Essa palavra-chave não padrão está disponível em projetos em C++/CLI e nativos em C++. No entanto, seu uso não é recomendado. Considere usar Instrução for com base em intervalo (C++) padrão.
Todos os Tempos de Execução
Sintaxe
for each (type identifier in expression) {
statements
}
Parâmetros
type
O tipo de identifier.identifier
A variável de iteração que representa o elemento da coleção. Quando identifier é um Operador de Referência de Acompanhamento (Extensões de Componentes C++), você pode modificar o elemento.expression
Uma expressão ou coleção de matriz. O elemento de coleção deve permitir que o compilador converta-o no tipo identifier.statements
Uma ou mais instruções a serem executadas.
Comentários
A instrução for each é usada para iterar por meio de uma coleção. Você pode alterar os elementos em uma coleção, mas não pode adicionar ou excluir elementos.
Os statements são executados para cada elemento na matriz ou na coleção. Após a iteração ter sido concluída para todos os elementos na coleção, o controle é transferido para a próxima instrução que segue o bloco for each.
for each e in são palavras-chave sensíveis ao contexto.
Para obter mais informações:
Tempo de Execução do Windows
Requisitos
Opção do compilador: /ZW
Exemplo
Este exemplo mostra como usar for each para iterar por meio de uma cadeia de caracteres.
// for_each_string1.cpp
// compile with: /ZW
#include <stdio.h>
using namespace Platform;
ref struct MyClass {
property String^ MyStringProperty;
};
int main() {
String^ MyString = ref new String("abcd");
for each ( char c in MyString )
wprintf("%c", c);
wprintf("/n");
MyClass^ x = ref new MyClass();
x->MyStringProperty = "Testing";
for each( char c in x->MyStringProperty )
wprintf("%c", c);
}
Saída
Common Language Runtime
Comentários
A sintaxe CLR é a mesma sintaxe de Todos os Tempos de Execução, exceto pelo seguinte:
expression
Uma expressão de matriz gerenciada ou coleção. O elemento de coleção deve permitir que o compilador converta-o de Object para o tipo identifier.expression é avaliado como um tipo que implementa IEnumerable, IEnumerable ou um tipo que define um método GetEnumerator que retorna um tipo que implementa IEnumerator ou declara todos os métodos definidos em IEnumerator.
Requisitos
Opção do compilador: /clr
Exemplo
Este exemplo mostra como usar for each para iterar por meio de uma cadeia de caracteres.
// for_each_string2.cpp
// compile with: /clr
using namespace System;
ref struct MyClass {
property String ^ MyStringProperty;
};
int main() {
String ^ MyString = gcnew String("abcd");
for each ( Char c in MyString )
Console::Write(c);
Console::WriteLine();
MyClass ^ x = gcnew MyClass();
x->MyStringProperty = "Testing";
for each( Char c in x->MyStringProperty )
Console::Write(c);
}
Saída
Consulte também
Conceitos
Extensões de componente para plataformas de tempo de execução