for each, infor each, in

배열 또는 컬렉션을 반복합니다.Iterates through an array or collection. 이 비표준 키워드는 C++/CLI 및 네이티브 C++ 프로젝트에서 사용할 수 있습니다.This non-standard keyword is available in both C++/CLI and native C++ projects. 그러나 사용 하지 않는 것이 좋습니다.However, its use isn't recommended. 표준 범위 기반 For 문 (c + +) 을 대신 사용 하는 것이 좋습니다.Consider using a standard Range-based for Statement (C++) instead.

모든 런타임All Runtimes

구문Syntax

for each ( 형식 식별자 ) {for each ( type identifier in expression ) {
    할당문    statements
}}

매개 변수Parameters

typetype
identifier의 형식입니다.The type of identifier.

identifieridentifier
반복 변수는 컬렉션 요소를 나타냅니다.The iteration variable that represents the collection element. identifier추적 참조 연산자인 경우 요소를 수정할 수 있습니다.When identifier is a Tracking Reference Operator, you can modify the element.

expressionexpression
배열 식 또는 컬렉션입니다.An array expression or collection. 컬렉션 요소는 컴파일러가 identifier 형식으로 변환할 수 있어야 합니다.The collection element must be such that the compiler can convert it to the identifier type.

할당문statements
실행할 하나 이상의 문입니다.One or more statements to be executed.

설명Remarks

for each 문은 컬렉션을 반복하는 데 사용됩니다.The for each statement is used to iterate through a collection. 컬렉션의 요소를 수정할 수 있지만 요소를 추가 하거나 삭제할 수는 없습니다.You can modify elements in a collection, but you can't add or delete elements.

문은 배열 또는 컬렉션의 각 요소에 대해 실행 됩니다.The statements are executed for each element in the array or collection. 컬렉션의 모든 요소에 대해 반복이 완료된 후 제어가 for each 블록 다음 문으로 전달됩니다.After the iteration has been completed for all the elements in the collection, control is transferred to the statement that follows the for each block.

for eachin상황에 맞는 키워드입니다.for each and in are context-sensitive keywords.

Windows 런타임Windows Runtime

요구 사항Requirements

컴파일러 옵션: /ZwCompiler option: /ZW

예제Example

이 예제는 for each를 사용해서 문자열을 반복하는 방법을 보여줍니다.This example shows how to use for each to iterate through a 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

공용 언어 런타임Common Language Runtime

설명Remarks

CLR 구문은 다음을 제외한 모든 런타임 구문과 같습니다.The CLR syntax is the same as the All Runtimes syntax, except as follows.

expressionexpression
관리되는 배열 식 또는 컬렉션입니다.A managed array expression or collection. 컬렉션 요소는 컴파일러에서 Object 식별자 형식으로 변환할 수 있어야 합니다.The collection element must be such that the compiler can convert it from Object to the identifier type.

식은 ,을 구현 하는 형식 IEnumerable IEnumerable<T> 또는 GetEnumerator 에 정의 된 모든 메서드를 구현 하거나 선언 하는 형식을 반환 하는 메서드를 정의 하는 형식으로 계산 IEnumerator IEnumerator 됩니다.expression evaluates to a type that implements IEnumerable, IEnumerable<T>, or a type that defines a GetEnumerator method that either returns a type that implements IEnumerator or declares all of the methods that are defined in IEnumerator.

요구 사항Requirements

컴파일러 옵션: /clrCompiler option: /clr

예제Example

이 예제는 for each를 사용해서 문자열을 반복하는 방법을 보여줍니다.This example shows how to use for each to iterate through a 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

참고 항목See also

런타임 플랫폼용 구성 요소 확장Component Extensions for Runtime Platforms
범위 기반 for 문 (c + +)Range-based for statement (C++)