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:
Gewusst wie: Durchlaufen Sie von jedem für mit STL-Auflistung
Gewusst wie: Durchlaufen Sie mit einer generischen Auflistung von jedem für
Gewusst wie: Durchlaufen Sie mit einer benutzerdefinierten Auflistung von jedem für
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