pour chaque, dans
Utilisez l'instruction d' for each pour itérer au sein d'un tableau ou une collection.
Tous les runtimes
Syntaxe
for each (type identifier in expression) {
statements
}
Paramètres
type
Type de identifier.identifier
La variable d'itération qui représente l'élément de collection.Lorsque identifier est une référence de suivi, vous pouvez modifier l'élément.expression
Une expression de tableau ou une collection.Le compilateur doit pouvoir convertir l'élément de collection au type d' identifier .statements
Une ou plusieurs instructions à exécuter.
Remarques
L'instruction d' for each est utilisée pour itérer au sein d'une collection.Il est possible de modifier des éléments dans une collection, mais vous ne pouvez pas ajouter ou supprimer des éléments.
instructions sont exécutés pour chaque élément du tableau ou une collection.Une fois l'itération terminée pour tous les éléments de la collection, le contrôle est transféré à l'instruction suivante après le bloc for each.
for each et in sont des mots clés contextuels ; consultez Mots clés contextuels (extensions du composant C++) pour plus d'informations.
Dans l'environnement de développement, vous pouvez réussir l'aide F1 en mettant en surbrillance le mot clé, (for each) et en appuyant sur F1.
Pour plus d'informations, consultez
Comment : Itérez sur une collection générique avec pour chaque
Comment : Itérez sur une collection définie par l'utilisateur avec pour chaque
Windows Runtime
(Il n'y a aucune note en runtime) à windows pour cette fonctionnalité de langage.)
Configuration requise
Option du compilateur : /ZW
Exemples
Exemple
Cet exemple indique comment itérer au sein d'une chaîne avec for each.
// 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);
}
Sortie
Common Language Runtime
Le tableau suivant répertorie les différences de la syntaxe indiquée dans la section de Tous les runtimes spécifiques à C++/CLI.
Paramètres
expression
Une expression de tableau ou une collection managée.Le compilateur doit pouvoir convertir l'élément de la collection d' Object au type d' ID .expression correspond à un type qui implémente IEnumerable, IEnumerable<T>, ou un type qui définit une méthode de GetEnumerator.Dans ce dernier cas, GetEnumerator si l'un ou l'autre de retour un type qui implémente IEnumerator ou déclare toutes les méthodes définies dans IEnumerator.
Configuration requise
Option du compilateur : /clr
Exemples
Exemple
Cet exemple indique comment itérer au sein d'une chaîne avec for each.
// 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);
}
Sortie