for(C# 참조)for (C# reference)

for 문은 지정된 부울 식이 true로 평가되는 동안 명령문 또는 명령문 블록을 실행합니다.The for statement executes a statement or a block of statements while a specified boolean expression evaluates to true.

for 문 블록 내 원하는 지점에서 break 문을 사용하여 루프를 중단하거나 continue 문을 사용하여 루프의 다음 반복을 한 단계 실행할 수 있습니다.At any point within the for statement block, you can break out of the loop by using the break statement, or step to the next iteration in the loop by using the continue statement. goto, return 또는 throw 문으로 for 루프를 종료할 수도 있습니다.You also can exit a for loop by the goto, return, or throw statements.

for 문의 구조Structure of the for statement

for 문은 initializer, conditioniterator 섹션을 정의합니다.The for statement defines initializer, condition, and iterator sections:

for (initializer; condition; iterator)
    body

세 개의 섹션은 모두 선택 사항입니다.All three sections are optional. 루프의 본문은 명령문 또는 명령문 블록입니다.The body of the loop is either a statement or a block of statements.

다음 예제에서는 모든 섹션이 정의된 for 문을 보여 줍니다.The following example shows the for statement with all of the sections defined:

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

initializer 섹션The initializer section

initializer 섹션의 명령문은 루프로 유입되기 전에 한 번만 실행됩니다.The statements in the initializer section are executed only once, before entering the loop. initializer 섹션은 다음 중 하나입니다.The initializer section is either of the following:

  • 루프 외부에서 액세스할 수 없는 로컬 루프 변수의 선언 및 초기화The declaration and initialization of a local loop variable, which can't be accessed from outside the loop.

  • 쉼표로 구분된 다음 목록의 0개 이상의 명령문 식:Zero or more statement expressions from the following list, separated by commas:

    • assignmentassignment statement

    • 메서드 호출invocation of a method

    • 접두사 또는 후위 increment 식(예: ++i 또는i++)prefix or postfix increment expression, such as ++i or i++

    • 접두사 또는 후위 decrement 식(예: --i 또는i--)prefix or postfix decrement expression, such as --i or i--

    • new 키워드를 사용하여 개체 만들기creation of an object by using new keyword

    • awaitawait expression

위의 예제에서 initializer 섹션은 로컬 루프 변수 i를 선언하고 초기화합니다.The initializer section in the example above declares and initializes the local loop variable i:

int i = 0

condition 섹션The condition section

condition 섹션이 있으면 부울 식이어야 합니다.The condition section, if present, must be a boolean expression. 이 식은 모든 루프 반복 전에 평가됩니다.That expression is evaluated before every loop iteration. condition 섹션이 없거나 부울 식이 true로 평가되는 경우, 다음 루프 반복이 실행되고 그렇지 않으면 루프가 종료됩니다.If the condition section is not present or the boolean expression evaluates to true, the next loop iteration is executed; otherwise, the loop is exited.

위의 예제에서 condition 섹션은 로컬 루프 변수의 값에 따라 루프가 종료되는지 여부를 결정합니다.The condition section in the example above determines if the loop terminates based on the value of the local loop variable:

i < 5

iterator 섹션The iterator section

iterator 섹션은 루프의 본문을 반복할 때마다 수행되는 작업을 정의합니다.The iterator section defines what happens after each iteration of the body of the loop. iterator 섹션에는 쉼표로 구분된 다음 명령문 식이 0개 이상 포함됩니다.The iterator section contains zero or more of the following statement expressions, separated by commas:

  • assignmentassignment statement

  • 메서드 호출invocation of a method

  • 접두사 또는 후위 increment 식(예: ++i 또는i++)prefix or postfix increment expression, such as ++i or i++

  • 접두사 또는 후위 decrement 식(예: --i 또는i--)prefix or postfix decrement expression, such as --i or i--

  • new 키워드를 사용하여 개체 만들기creation of an object by using new keyword

  • awaitawait expression

위 예제의 iterator 섹션은 로컬 루프 변수를 증가시킵니다.The iterator section in the example above increments the local loop variable:

i++

예제Examples

다음 예제에서는 initializer 섹션에서 외부 루프 변수에 값 할당, initializeriterator 섹션에서 메서드 호출, iterator 섹션에서 두 변수의 값 변경과 같이 for 문 섹션의 여러 가지 덜 일반적인 사용법을 보여 줍니다.The following example illustrates several less common usages of the for statement sections: assigning a value to an external loop variable in the initializer section, invoking a method in both the initializer and the iterator sections, and changing the values of two variables in the iterator section. Run을 선택하여 예제 코드를 실행합니다.Select Run to run the example code. 그런 다음, 코드를 수정하고 다시 실행할 수 있습니다.After that you can modify the code and run it again.

int i;
int j = 10;
for (i = 0, Console.WriteLine($"Start: i={i}, j={j}"); i < j; i++, j--, Console.WriteLine($"Step: i={i}, j={j}"))
{
    // Body of the loop.
}

다음 예제에서는 무한 for 루프를 정의합니다.The following example defines the infinite for loop:

for ( ; ; )
{
    // Body of the loop.
}

C# 언어 사양C# language specification

자세한 내용은 C# 언어 사양을 참조하세요.For more information, see the C# Language Specification. C# 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.The language specification is the definitive source for C# syntax and usage.

참고 항목See also