Partager via


pour chaque, dans

Itère dans un tableau ou une collection. Ce mot clé non standard est disponible dans C++/CLI et les projets natifs C++. Toutefois, son utilisation n'est pas recommandée. Envisagez d'utiliser une instruction Basé sur une plage, instruction (C++) standard à la place.

Tous les runtimes

Syntaxe

for each (type identifier in expression) {
   statements
}

Paramètres

  • type
    Type d'élément identifier.

  • identifier
    La variable d'itération qui représente l'élément de collection. Lorsque identifier est un % (suivi des références), vous pouvez le modifier.

  • expression
    Expression ou collection de tableaux. L'élément de collection doit pouvoir être converti par le compilateur en type d'élément identifier.

  • statements
    Une ou plusieurs instructions à exécuter.

Notes

L'instruction for each permet d'itérer au sein d'une collection. Vous pouvez modifier les éléments d'une collection, mais vous ne pouvez ni ajouter ni supprimer des éléments.

Les statements sont exécutées pour chaque élément du tableau ou de la 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.

for each et in sont des mots clés contextuels.

Pour plus d'informations :

Windows Runtime

Conditions requises

Option du compilateur : /ZW

Exemple

Cet exemple montre comment utiliser for each pour itérer au sein d'une chaîne.

// 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

Notes

La syntaxe CLR est identique à la syntaxe Tous les runtimes, à l'exception des points suivants.

  • expression
    Collection ou expression de tableau managé. L'élément de collection doit pouvoir être converti par le compilateur de Object en type identifier.

    expression correspond à un type qui implémente IEnumerable, IEnumerable, ou un type qui définit une méthode GetEnumerator qui retourne un type qui implémente IEnumerator ou déclare toutes les méthodes définies dans IEnumerator.

Conditions requises

Option du compilateur : /clr

Exemple

Cet exemple montre comment utiliser for each pour itérer au sein d'une chaîne.

// 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

  
  

Voir aussi

Concepts

Fonctionnalités de langage pour cibler le CLR