C#으로 이해하는 자료구조 전자책
C# for 반복 구문

C# for 문은 루프 안에 있는 문장들을 반복적으로 실행할 때 사용한다. for 루프는 일반적으로 카운터 변수를 이용해 일정 범위 동안 for 루프 안의 블럭을 실행한다.

다음 예제는 0부터 9까지 총 10번 콘솔 출력을 반복하는 코드이다.


예제

class Program
{
    static void Main(string[] args)
    {
        // for 루프
        for (int i = 0; i < 10; i++)
        {
           Console.WriteLine("Loop {0}", i);
        }
    }
}



C# foreach 반복 구문

C# foreach 문은 배열이나 컬렉션에 주로 사용하는데, 컬렉션의 각 요소를 하나씩 꺼내와서 foreach 루프 내의 블럭을 실행할 때 사용된다. 다음 예제는 문자열 배열을 foreach를 사용하여 각 문자열 요소를 하나씩 출력하는 코드이다.

예제

static void Main(string[] args)
{
    string[] array = new string[] { "AB", "CD", "EF" };

    // foreach 루프
    foreach (string s in array)
    {
       Console.WriteLine(s);
    }
}



for vs. foreach

C# foreach는 for,while 등 다른 루프 문장보다 내부적으로 보다 최적화 되어있는데, 따라서 가능하면 foreach 를 사용할 것을 권장한다. 특히 2차배열, 3차배열 등의 다중 배열을 처리할 경우, for루프는 배열 차수만큼 여러번 루프를 돌려야 하지만, foreach는 아래와 같이 단순히 한 루프 문장으로 이를 처리할 수 있어 편리하다.

예제

static void Main(string[] args)
{
    // 3차배열 선언
    string[,,] arr = new string[,,] { 
            { {"1", "2"}, {"11","22"} }, 
            { {"3", "4"}, {"33", "44"} }
    };

    //for 루프 : 3번 루프를 만들어 돌림
    for (int i = 0; i < arr.GetLength(0); i++)
    {
        for (int j = 0; j < arr.GetLength(1); j++)
        {
            for (int k = 0; k < arr.GetLength(2); k++)
            {
                Debug.WriteLine(arr[i, j, k]);
            }
        }
    }

    //foreach 루프 : 한번에 3차배열 모두 처리
    foreach (var s in arr)
    {
        Debug.WriteLine(s);
    }
}




C# while 반복 구문

C# while 문은 while 조건식이 true인 동안 계속 while 블럭을 실행할 때 사용한다. 다음 예제는 while문을 사용하여 1부터 10까지 숫자를 콘솔에 출력하는 코드이다. 아래에서 i가 11이 되면 while 조건식이 false가 되어 while 루프를 빠져나오게 된다.

예제

static void Main(string[] args)
{
    int i=1;

    // while 루프
    while (i <= 10)
    {
       Console.WriteLine(i);
       i++;
    }
}



C# do while 반복 구문

do ~ while은 위의 while문과 거의 비슷하나, 마지막 while 조건식까지 가기 전에 do ~ while 사이의 블럭을 미리 한번 실행한다는 점에서 차이가 있다.

예제

static void Main(string[] args)
{
    int i=1;

    // do ~ while 루프
    do
    {
       Console.WriteLine(i);
       i++;
    } while (i < 10);
}



C# 반복 구문 예제

아래 예제는 콘솔로부터 Q키가 입력되지 전까지 계속 키 입력을 받아들인 후, 그동안 입력된 키들을 foreach 루프를 써서 출력해 본 예이다.

예제

using System;
using System.Collections.Generic;

namespace MySystem
{
    class Program
    {
        static void Main(string[] args)
        {
            List<char> keyList = new List<char>();
            ConsoleKeyInfo key;
            do
            {
                key = Console.ReadKey();
                keyList.Add(key.KeyChar);
            } while (key.Key != ConsoleKey.Q); // Q가 아니면 계속

            Console.WriteLine();
            foreach (char ch in keyList) // 리스트 루프
            {
                Console.Write(ch);
            }
        }
    }
}



C# 동영상 강의 : C# 반복문
[레벨] 초급     
[C# 기초] C# 반복문에서 사용하는 for, foreach, while, do while 문들에 대해 자세히 설명하고, continue, break 문에 대해서도 함께 설명합니다.


본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.




Comment admin@*** 11/13/2017 1:53:33 PM
Comment wsj7178@*** 2/21/2018 12:39:08 AM
Comment admin@*** 2/21/2018 1:08:35 AM
Comment ghdhfk901@*** 2/22/2019 7:10:38 AM
Comment admin@*** 2/22/2019 3:52:11 PM

Comment 의견/코멘트 쓰기
이메일
 *정확한 이메일이 아닐 경우 삭제될 수 있습니다
의견/코멘트
좌측의 3자리 문자들을 입력해 주십시오





아티클 모바일 링크
C# 스터디 소셜미디어
쉽게 배우는 파이썬 기초