Bagikan melalui


for each, in

Melakukan iterasi melalui array atau koleksi. Kata kunci nonstandar ini tersedia di proyek C++/CLI dan C++ asli. Namun, menggunakan Rentang standar berbasis untuk Pernyataan (C++) lebih disukai, sebagai gantinya.

Semua runtime

Sintaks

for each ( type identifier in expression ) {
statements
}

Parameter

type
Jenis identifier.

identifier
Variabel iterasi yang mewakili elemen koleksi. Saat identifier menjadi Operator Referensi Pelacakan, Anda dapat memodifikasi elemen .

expression
Ekspresi atau koleksi array. Elemen koleksi harus singgah sehingga pengkompilasi dapat mengonversinya ke identifier jenis .

statements
Satu atau beberapa pernyataan yang akan dijalankan.

Keterangan

Pernyataan for each ini digunakan untuk melakukan iterasi melalui koleksi. Anda dapat mengubah elemen dalam koleksi, tetapi Anda tidak dapat menambahkan atau menghapus elemen.

statements dijalankan untuk setiap elemen dalam array atau koleksi. Setelah iterasi selesai untuk semua elemen dalam koleksi, kontrol ditransfer ke pernyataan yang mengikuti for each blok.

for each dan in merupakan kata kunci yang sensitif terhadap konteks.

Windows Runtime

Persyaratan

Opsi pengkompilasi: /ZW

Contoh

Contoh ini menunjukkan cara menggunakan for each untuk melakukan iterasi melalui string.

// 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);
   }
}
abcd
Testing

Runtime Bahasa Umum

Keterangan

Sintaks CLR sama dengan sintaks Semua Runtime , kecuali sebagai berikut.

expression
Ekspresi atau koleksi array terkelola. Elemen koleksi harus singgah sehingga pengkompilasi dapat mengonversinya dari Object ke identifier jenis .

expression mengevaluasi ke jenis yang mengimplementasikan IEnumerable, IEnumerable<T>, atau jenis yang menentukan GetEnumerator metode yang mengembalikan jenis yang mengimplementasikan IEnumerator atau mendeklarasikan semua metode yang ditentukan dalam IEnumerator.

Persyaratan

Opsi pengkompilasi: /clr

Contoh

Contoh ini menunjukkan cara menggunakan for each untuk melakukan iterasi melalui string.

// 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);
   }
}
abcd
Testing

Baca juga

Ekstensi Komponen untuk Platform Runtime
Berbasis rentang untuk pernyataan (C++)