for each
, in
配列またはコレクションを反復処理します。 この非標準のキーワード (keyword)は、C++/CLI プロジェクトとネイティブ C++ プロジェクトの両方で使用できます。 ただし、代わりに、標準 の Range ベースの for ステートメント (C++) を使用することをお勧めします。
すべてのランタイム
構文
for each (
type
identifier
in
expression
) {
statements
}
パラメーター
type
identifier
の型。
identifier
コレクション要素を表す繰り返し変数。 identifier
が追跡参照演算子のときは、要素を変更できます。
expression
配列式またはコレクション。 コレクション要素は、コンパイラが identifier
型に変換できるようにする必要があります。
statements
実行する 1 つ以上のステートメントを指定します。
解説
コレクションを反復処理するために、for each
ステートメントを使用します。 コレクション内の要素を変更することはできますが、要素を追加したり削除したりすることはできません。
配列 statements
またはコレクション内の各要素に対して実行されます。 コレクション内の全要素に対する繰り返しが完了すると、制御は、for each
ブロックに続くステートメントに移動します。
for each
と in
は状況依存のキーワードです。
Windows ランタイム
必要条件
コンパイラ オプション: /ZW
例
この例では、for each
を使用して文字列を反復処理する方法を示します。
// 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
共通言語ランタイム
解説
CLR の構文は次の点を除き、すべてのランタイム構文と同じです。
expression
マネージド配列式またはコレクション。 コレクション要素は、コンパイラが型に変換 Object できるようにする identifier
必要があります。
expression
は、実装する型、または定義されているすべてのメソッドを実装IEnumerableIEnumerable<T>またはGetEnumerator
宣言する型を返すメソッドを定義する型IEnumeratorにIEnumerator
評価されます。
必要条件
コンパイラ オプション: /clr
例
この例では、for each
を使用して文字列を反復処理する方法を示します。
// 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
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示