для каждого внутри
Использование оператора for each для перебора в массиве или коллекции.
Все выполнения
Синтаксис
for each (type identifier in expression) {
statements
}
Параметры
type
Тип identifier.identifier
Переменная итерации, представляющая элемент коллекции.Если identifier ссылка отслеживания можно изменить элемент.expression
Выражение или коллекция массива.Компилятор должен быть способен преобразовать элемент коллекции к типу identifier.statements
Один или несколько операторов для выполнения.
Заметки
Выписка for each используется для итерации по коллекции.Можно изменять элементы в коллекции, но можно добавлять и удалять элементы.
выписки выполняется для каждого элемента в массиве или коллекции.После завершения итерации всех элементов коллекции управление переходит к следующему оператору после блока for each.
контекстные ключевые слова for each и in; дополнительные сведения см. в разделе Контекстные ключевые слова (расширения компонентов C++).
Среды разработки, можно получать справки F1, выполнив выделение ключевое слово, (for each) и клавишу F1.
Дополнительные сведения см. в следующих разделах:
Практическое руководство. Выполнение перебора по массивам с for each
Практическое руководство. Выполнение перебора универсальной коллекции с помощью for each
Практическое руководство. Выполняет перебор коллекции с каждым для определяемого пользователем
Среда выполнения Windows
(Отсутствует комментарий Выполнение- для Windows для этой функции языка).
Требования
Параметр компилятора: /ZW
Примеры
Пример
В этом примере показано, как выполнить с помощью строки с 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);
}
Output
Среда CLR
В следующей таблице перечислены отличия от синтаксиса, используемого в разделе Все выполнения, характерные для C ++/CLI.
Параметры
expression
Выражение или коллекция управляемого массива.Компилятор должен быть способен преобразовать элемент из коллекции Object к типу идентификатор.выражение представляет собой тип, реализующий IEnumerable, IEnumerable<T> или тип, определяющий метода GetEnumerator.В последнем случае GetEnumerator если любое возвращать тип, реализующий IEnumerator либо объявить все методы, определенные в IEnumerator.
Требования
Параметр компилятора: /clr
Примеры
Пример
В этом примере показано, как выполнить с помощью строки с 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);
}
Output