for each, infor each, in

Itère dans un tableau ou une collection.Iterates through an array or collection. Ce mot clé non standard est disponible dans C++/CLI et les projets natifs C++.This non-standard keyword is available in both C++/CLI and native C++ projects. Toutefois, son utilisation n'est pas recommandée.However, its use is not recommended. Envisagez d’utiliser à la place une instruction for standard basée sur une plage (C++) .Consider using a standard Range-based for Statement (C++) instead.

Tous les runtimesAll Runtimes

SyntaxeSyntax

pour chaque ( type identificateur de type dans l' expression ) {for each ( type identifier in expression ) {
    publication    statements
}}

ParamètresParameters

typetype
Type d'élément identifier.The type of identifier.

identificateuridentifier
La variable d'itération qui représente l'élément de collection.The iteration variable that represents the collection element. Lorsque identifier est un opérateur de référence de suivi, vous pouvez modifier l’élément.When identifier is a Tracking Reference Operator, you can modify the element.

expressionexpression
Expression ou collection de tableaux.An array expression or collection. L'élément de collection doit pouvoir être converti par le compilateur en type d'élément identifier.The collection element must be such that the compiler can convert it to the identifier type.

publicationstatements
Une ou plusieurs instructions à exécuter.One or more statements to be executed.

Notes Remarks

L’instruction for each permet d’itérer au sein d’une collection.The for each statement is used to iterate through a collection. Vous pouvez modifier les éléments d'une collection, mais vous ne pouvez ni ajouter ni supprimer des éléments.You can modify elements in a collection, but you cannot add or delete elements.

Les instructions sont exécutées pour chaque élément du tableau ou de la collection.The statements are executed for each element in the array or collection. Une fois l'itération terminée pour tous les éléments de la collection, le contrôle est transféré à l'instruction placée après le bloc for each.After the iteration has been completed for all the elements in the collection, control is transferred to the statement that follows the for each block.

for eachet in sont des Mots clés contextuels.for each and in are context-sensitive keywords.

Pour plus d’informations :For more information:

Windows RuntimeWindows Runtime

Configuration requiseRequirements

Option du compilateur : /ZWCompiler option: /ZW

 ExempleExample

Cet exemple montre comment utiliser for each pour itérer au sein d'une chaîne.This example shows how to use for each to iterate through a string.

// 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);
}

SortieOutput

abcd

Testing

Common Language RuntimeCommon Language Runtime

RemarquesRemarks

La syntaxe CLR est identique à la syntaxe All runtimes , sauf dans les cas suivants.The CLR syntax is the same as the All Runtimes syntax, except as follows.

expressionexpression
Collection ou expression de tableau managé.A managed array expression or collection. L’élément de collection doit être tel que le compilateur peut le convertir Object en type d' identificateur .The collection element must be such that the compiler can convert it from Object to the identifier type.

l’expression prend la valeur d’un type qui IEnumerableimplémente IEnumerable<T>, ou un type qui définit GetEnumerator une méthode qui retourne un type qui implémente IEnumerator ou déclare toutes les méthodes définies dans IEnumerator.expression evaluates to a type that implements IEnumerable, IEnumerable<T>, or a type that defines a GetEnumerator method that either returns a type that implements IEnumerator or declares all of the methods that are defined in IEnumerator.

Configuration requiseRequirements

Option du compilateur : /clrCompiler option: /clr

 ExempleExample

Cet exemple montre comment utiliser for each pour itérer au sein d'une chaîne.This example shows how to use for each to iterate through a string.

// 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);
}

SortieOutput

abcd

Testing

Voir aussiSee also

Extensions de composant pour les plateformes RuntimeComponent Extensions for Runtime Platforms