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++)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk