dla każdego z nich w
Użycie for each instrukcji do iteracji w tablicy lub kolekcji.
Czas wykonania wszystkich
Składnia
for each (type identifier in expression) {
statements
}
Parametry
type
Typ identifier.identifier
Zmienna iteracji, który reprezentuje element kolekcji.Gdy identifier to odwołanie do śledzenia, można zmodyfikować element.expression
Wyrażenie tablica lub kolekcja.Kompilator musi być możliwa konwersja element kolekcji, aby identifier typu.statements
Jeden lub więcej instrukcji do wykonania.
Uwagi
for each Instrukcja służy do iteracji zawartości kolekcji.Istnieje możliwość modyfikowania elementów w kolekcji, ale nie można dodać lub usunąć elementy.
Instrukcji są wykonywane dla każdego elementu w tablicy lub kolekcji.Po wykonaniu iteracji dla wszystkich elementów w kolekcji, formant zostaje przeniesiony do następnego następujących instrukcji for each bloku.
for eachi in słowa kluczowe, uzależnioną od kontekstu; zobacz Kontekstowe słowa kluczowe (C++ Component Extensions) Aby uzyskać więcej informacji.
W środowisku projektowym, można uzyskać Pomoc F1, wyróżniając słowa kluczowego, (for each) i naciskając klawisz F1.
Aby uzyskać więcej informacji zobacz temat,
Środowisko wykonawcze systemu Windows
(Nie są żadne uwagi specyficznych dla systemu Windows Runtime, dla tej funkcji języka).
Wymagania
Opcja kompilatora:/ZW
Przykłady
Przykład
W przykładzie pokazano, jak do iteracji przez ciąg znaków z for each.
// 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);
}
Dane wyjściowe
Środowisko uruchomieniowe języka wspólnego
W poniższej tabeli przedstawiono różnice w stosunku do składni przedstawionej w Wszystkich programów pochodzących od sekcji, które są specyficzne dla C + +/ CLI.
Parametry
wyrażenie
Wyrażenie tablicy lub kolekcji.Kompilator musi być możliwa konwersja element kolekcji z Object do identyfikator typu.wyrażenie daje w wyniku typu, który implementuje IEnumerable, IEnumerable<T>, lub typu, który definiuje metody GetEnumerator.W tym ostatnim przypadku GetEnumerator powinna zwracać typ, który implementuje IEnumerator lub deklaruje wszystkich metod, które są zdefiniowane w elemencie IEnumerator.
Wymagania
Opcja kompilatora:/clr
Przykłady
Przykład
W przykładzie pokazano, jak do iteracji przez ciąg znaków z for each.
// 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);
}
Dane wyjściowe