für jedes in
Verwenden Sie die - Anweisung, um for each durch ein Array oder eine Auflistung zu durchlaufen.
Alle Laufzeiten
Syntax
for each (type identifier in expression) {
statements
}
Parameter
type
Der Typ von identifier.identifier
Die Iterationsvariable, die das Auflistungselement darstellt.Wenn identifier ein Nachverfolgungsverweis ist, können Sie das - Element ändern.expression
Ein Arrayausdruck oder eine Auflistung.Der Compiler muss in der Lage sein, das Auflistungselement zum identifier-Typ zu konvertieren.statements
Eine oder mehrere auszuführende Anweisungen.
Hinweise
Die for each-Anweisung wird verwendet, um eine Auflistung zu durchlaufen.Es ist möglich, Elemente in einer Auflistung zu ändern, aber Sie können keine Elemente hinzufügen oder löschen.
Anweisungen werden für jedes Element im Array oder die 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; Kontextbezogene Schlüsselwörter finden Sie weitere Informationen.
In der Entwicklungsumgebung können Sie F1-Hilfe an abrufen, indem Sie das - Schlüsselwort markieren, (for each) und F1 drücken.
Weitere Informationen finden Sie unter
Gewusst wie: Durchlaufen Sie einer generischen Auflistung mit für jedes durch
Gewusst wie: Durchlaufen Sie einer benutzerdefinierten Auflistung mit für jedes durch
Windows-Runtime
(Es gibt keine Windows-Laufzeit-Besondere-Hinweise für diese Sprachfunktion.)
Anforderungen
Compileroption: /ZW
Beispiele
Beispiel
Dieses Beispiel zeigt, wie durch eine Zeichenfolge mit for each durchläuft.
// 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
In der folgenden Tabelle sind die Unterschiede der Syntax, die in Alle Laufzeiten gezeigt wird, unterteilen, die zu C++/CLI spezifisch sind.
Parameter
expression
Ein Arrayausdruck oder eine Auflistung des verwalteten Arrays.Der Compiler muss in der Lage sein, das Auflistungselement von Object zum Bezeichner-Typ zu konvertieren.Ausdruck ergibt einen Typ aus, der IEnumerable, IEnumerable<T> oder implementiert einen Typ, der eine GetEnumerator-Methode definiert.In letzterem Fall GetEnumerator, geben jeweils ein Typ, wenn der IEnumerator implementiert oder alle Methoden definiert in IEnumerator deklariert.
Anforderungen
Compileroption: /clr
Beispiele
Beispiel
Dieses Beispiel zeigt, wie durch eine Zeichenfolge mit for each durchläuft.
// 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