Condividi tramite


per ognuno, in

Utilizzare l'istruzione for each per scorrere una matrice o una raccolta.

Tutti i runtime

Sintassi

for each (type identifier in expression) {
   statements
}

Parametri

  • type
    Tipo di identifier.

  • identifier
    La variabile di iterazione che rappresenta l'elemento della raccolta.Quando identifier è un riferimento di rilevamento, è possibile modificare l'elemento.

  • expression
    Un'espressione di una matrice o di una raccolta.Il compilatore deve essere in grado di convertire l'elemento della raccolta al tipo identifier.

  • statements
    Una o più istruzioni da eseguire.

Note

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

Le Istruzioni vengono eseguite per ogni elemento della matrice o della raccolta.Quando l'iterazione è stata completata per tutti gli elementi della raccolta, il controllo viene trasferito alla prima istruzione che segue il blocco for each.

for each e in rappresentano parole chiave sensibili al contesto, vedere Parole chiave sensibili al contesto (Estensioni del componente C++) per ulteriori informazioni.

Nell'ambiente di sviluppo, è possibile consultare la F1 Guida evidenziando la parola chiave, (for each) e premendo F1.

Per ulteriori informazioni, vedere

Windows Runtime

(Non esistono commenti specifici per Windows Runtime per questa funzionalità del linguaggio.)

ms177202.collapse_all(it-it,VS.110).gifRequisiti

Opzione del compilatore: /ZW

ms177202.collapse_all(it-it,VS.110).gifEsempi

Esempio

In questo esempio viene illustrato come scorrere una stringa con 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

  
  

Common Language Runtime

La seguente tabella elenca le differenze della sintassi illustrata nella sezione Tutti i runtime specifica di C++/CLI.

Parametri

  • espressione
    Un'espressione di una matrice gestita o di una raccolta.Il compilatore deve essere in grado di convertire l'elemento di una raccolta da Object al tipo identificatore.

    espressione restituisce un tipo che implementa IEnumerable, IEnumerable<T>, o un tipo che definisce un metodo di GetEnumerator.Nel secondo caso, GetEnumerator dovrebbe restituire un tipo che implementa IEnumerator o dichiarare tutti i metodi definiti in IEnumerator.

ms177202.collapse_all(it-it,VS.110).gifRequisiti

Opzione del compilatore: /clr

ms177202.collapse_all(it-it,VS.110).gifEsempi

Esempio

In questo esempio viene illustrato come scorrere una stringa con 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

  
  

Vedere anche

Concetti

Estensioni componenti per le piattaforme runtime