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 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++)