Udostępnij za pośrednictwem


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).

ms177202.collapse_all(pl-pl,VS.110).gifWymagania

Opcja kompilatora:/ZW

ms177202.collapse_all(pl-pl,VS.110).gifPrzykł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.

ms177202.collapse_all(pl-pl,VS.110).gifWymagania

Opcja kompilatora:/clr

ms177202.collapse_all(pl-pl,VS.110).gifPrzykł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

  
  

Zobacz też

Koncepcje

Składnik rozszerzeń dla platform Runtime