Поделиться через


для каждого внутри

Использование оператора 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.

Дополнительные сведения см. в следующих разделах:

Среда выполнения Windows

(Отсутствует комментарий Выполнение- для Windows для этой функции языка).

ms177202.collapse_all(ru-ru,VS.110).gifТребования

Параметр компилятора: /ZW

ms177202.collapse_all(ru-ru,VS.110).gifПримеры

Пример

В этом примере показано, как выполнить с помощью строки с 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.

ms177202.collapse_all(ru-ru,VS.110).gifТребования

Параметр компилятора: /clr

ms177202.collapse_all(ru-ru,VS.110).gifПримеры

Пример

В этом примере показано, как выполнить с помощью строки с 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

  
  

См. также

Основные понятия

Расширения компонентов для платформ среды выполнения