for each
, in
Bir dizi ya da koleksiyonda yinelenir. Standart olmayan bu anahtar sözcük hem C++/CLI hem de yerel C++ projelerinde kullanılabilir. Ancak, bunun yerine deyimi için standart aralık tabanlı (C++) kullanılması tercih edilir.
Tüm çalışma zamanları
Sözdizimi
for each (
type
identifier
in
expression
) {
statements
}
Parametreler
type
türü.identifier
identifier
Koleksiyon öğesini temsil eden yineleme değişkeni. İzleme Başvurusu İşleci olduğunda identifier
öğesini değiştirebilirsiniz.
expression
Bir dizi ifadesi veya koleksiyon. Koleksiyon öğesi, derleyicinin türüne identifier
dönüştürebileceği şekilde olmalıdır.
statements
Yürütülecek bir veya daha fazla deyim.
Açıklamalar
deyimi for each
, bir koleksiyon aracılığıyla yinelemek için kullanılır. Koleksiyondaki öğeleri değiştirebilirsiniz, ancak öğe ekleyemez veya silemezsiniz.
statements
, dizideki veya koleksiyondaki her öğe için yürütülür. Koleksiyondaki tüm öğeler için yineleme tamamlandıktan sonra denetim, bloğu izleyen deyime for each
aktarılır.
for each
ve in
bağlama duyarlı anahtar sözcüklerdir.
Windows Çalışma Zamanı
Gereksinimler
Derleyici seçeneği: /ZW
Örnek
Bu örnekte, bir dizeyi yinelemek için nasıl kullanılacağı for each
gösterilmektedir.
// 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
Ortak Dil Çalışma Zamanı
Açıklamalar
CLR söz dizimi, aşağıdakiler dışında Tüm Çalışma Zamanları söz dizimi ile aynıdır.
expression
Yönetilen dizi ifadesi veya koleksiyon. Koleksiyon öğesi, derleyicinin bunu Object türünden türüne identifier
dönüştürebileceği şekilde olmalıdır.
expression
, veya uygulayan IEnumerableIEnumerable<T>bir türü veya içinde tanımlanan IEnumerator
tüm yöntemleri uygulayan veya bildiren bir tür döndüren IEnumerator bir yöntemi tanımlayan GetEnumerator
bir türü değerlendirir.
Gereksinimler
Derleyici seçeneği: /clr
Örnek
Bu örnekte, bir dizeyi yinelemek için nasıl kullanılacağı for each
gösterilmektedir.
// 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
Ayrıca bkz.
Çalışma Zamanı Platformları için Bileşen Uzantıları
Deyim için aralık tabanlı (C++)