Condividi tramite


per ognuna di esse, in

Scorre una matrice o una raccolta. Questa parola chiave non standard è disponibile sia nei progetti C++/CLI sia nei progetti C++ nativi. Il suo utilizzo non è tuttavia consigliato. In alternativa, considerare l'utilizzo di un'Istruzione for basata su intervallo (C++) standard.

Tutti i runtime

Sintassi

for each (type identifier in expression) {
   statements
}

Parametri

  • type
    Tipo di identifier.

  • identifier
    Variabile di iterazione che rappresenta l'elemento della raccolta. Quando identifier è un Operatore di riferimento di rilevamento (Estensioni del componente C++), è possibile modificare l'elemento.

  • expression
    Raccolta o espressione di matrice. L'elemento della raccolta deve poter essere convertito dal compilatore nel tipo identifier.

  • statements
    Una o più istruzioni da eseguire.

Osservazioni

L'istruzione for each viene utilizzata per scorrere una raccolta. È possibile modificare gli elementi di una raccolta, ma non è possibile aggiungere o eliminare elementi.

Vengono eseguite statements per ogni elemento della matrice o della raccolta. Dopo che l'iterazione è stata completata per tutti gli elementi della raccolta, il controllo viene trasferito all'istruzione che segue il blocco for each.

for each e in sono parole chiave sensibili al contesto.

Per ulteriori informazioni:

Windows Runtime

Requisiti

Opzione del compilatore: /ZW

Esempio

In questo esempio viene illustrato come utilizzare for each per scorrere una stringa.

// 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

  
  

Common Language Runtime

Osservazioni

La sintassi CLR è uguale alla sintassi di tutti i runtime, ad eccezione di quanto segue.

  • expression
    Raccolta o espressione di matrice gestita. L'elemento della raccolta deve poter essere convertito dal compilatore da Object al tipo identifier.

    expression restituisce un tipo che implementa IEnumerable, IEnumerable o un tipo che definisce un metodo GetEnumerator che a sua volta restituisce un tipo che implementa IEnumerator o dichiara tutti i metodi definiti in IEnumerator.

Requisiti

Opzione del compilatore: /clr

Esempio

In questo esempio viene illustrato come utilizzare for each per scorrere una stringa.

// 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

  
  

Vedere anche

Concetti

Estensioni componenti per le piattaforme runtime