Share via


For Each in

Durchläuft ein Array oder eine Auflistung. Dieses nicht standardmäßige Schlüsselwort ist sowohl in C++/CLI und nativen C++-Projekten verfügbar. Seine Verwendung wird jedoch nicht empfohlen. Verwenden Sie stattdessen eine standardmäßige Bereichsbasiert für Anweisung (C++)-Methode.

Alle Laufzeiten

Syntax

for each (type identifier in expression) {
   statements
}

Parameter

  • type
    Der identifier-Typ.

  • identifier
    Die Iterationsvariable, die das Auflistungselement darstellt. Wenn identifier ein Nachverfolgungsverweisoperator (Komponentenerweiterungen für C++) ist, können Sie das Element ändern.

  • expression
    Ein Arrayausdruck oder eine Auflistung. Das Auflistungselement muss zulassen, dass der Compiler es in den Typ identifier konvertieren kann.

  • statements
    Eine oder mehrere auszuführende Anweisungen.

Hinweise

Die for each-Anweisung wird zum Durchlaufen einer Auflistung verwendet. Sie können Elemente in einer Auflistung ändern, aber keine Elemente hinzufügen oder löschen.

Die statements werden für jedes Element im Array oder in der Auflistung ausgeführt. Nachdem die Iteration alle Elemente in der Auflistung durchlaufen hat, wird die Steuerung an die nächste Anweisung, die auf den for each-Block folgt, übergeben.

for each und in sind kontextbezogene Schlüsselwörter.

Weitere Informationen finden Sie unter:

Windows-Runtime

Anforderungen

Compileroption: /ZW

Beispiel

Dieses Beispiel zeigt, wie for each zum Durchlaufen einer Zeichenfolge verwendet wird.

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

Ausgabe

  
  

Common Language Runtime

Hinweise

Die CLR-Syntax ist mit der Alle Laufzeiten-Syntax identisch, mit folgenden Ausnahmen.

  • expression
    Ein verwalteter Arrayausdruck oder eine Auflistung. Das Auflistungselement muss zulassen, dass der Compiler es vom Typ Object in den Typ identifier konvertieren kann.

    expression wird zu einem Typ ausgewertet, der IEnumerable, IEnumerable implementiert, oder zu einem Typ, der eine GetEnumerator-Methode definiert, die entweder einen Typ zurückgibt, der IEnumerator implementiert oder alle Methoden deklariert, die in IEnumerator definiert sind.

Anforderungen

Compileroption: /clr

Beispiel

Dieses Beispiel zeigt, wie for each zum Durchlaufen einer Zeichenfolge verwendet wird.

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

Ausgabe

  
  

Siehe auch

Konzepte

Komponentenerweiterungen für Laufzeitplattformen