본문 바로가기
Programming Language/C#

[C#] foreach문

by dbxxrud 2019. 5. 18.

foreach - 주로 배열이나 컬렉션에 사용되는 반복문이다. 컬렉션의 각 요소를 하나씩 꺼내와서 foreach 루프 내의 블록을 실행할 때 사용된다. 편리하게도 배열 (또는 컬렉션)의 끝에 도달하면 자동으로 반복이 종료된다.

 

 

 

예제

 

foreach(데이터 형식 변수명 in 배열_또는_컬렉션)

            코드 또는 코드 블록

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using static System.Console;
namespace Foreach
{
    class MainApp
    {
        static void Main(string[] args)
        {
            int[] arry = new int[] { 123456 };
 
            foreach (var arr in arry)
                WriteLine(arr);
 
        }
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

 

 

 

for VS foreach

 

C# foreach는 for, while 등 다른 루프 문 보다 내부적으로 최적화되어있다. 따라서 가능하면 foreach를 사용하는 것이 좋다. 특히 다차원 배열을 처리할 경우 for문은 배열의 차수만큼 여러 번 루프 문을 돌려야 하지만, foreach는 한 문장으로 처리할 수 있어서 더욱 편리하다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using static System.Console;
namespace Foreach
{
    class MainApp
    {
        static void Main(string[] args)
        {
            // 2차원 배열
            int[,]arry = new int[,]  { { 1,2,3}, {4,5,6 } };
 
            // 이중포문
            for (int i = 0; i < arry.GetLength(0); ++i)
            {
                for (int j = 0; j < arry.GetLength(1); ++j)
                    WriteLine(arry[i,j]);
                WriteLine();
            }
            WriteLine();
                
            // 포이치
            foreach (var arr in arry)
                WriteLine(arr);
        }
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

 

'Programming Language > C#' 카테고리의 다른 글

[C#] 클래스  (0) 2019.05.18
[C#] 메소드 오버로딩  (0) 2019.05.18
[C#] Null 병합 연산자 (Null-Coalescing Operator)  (0) 2019.04.28
[C#] 널 조건부 연산자 (Null-conditional operator)  (0) 2019.04.28
[C#] var  (0) 2019.04.28