Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 (typeidentifierinexpression) {
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 eachve 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 IEnumeratortü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++)