C# for 반복 구문
for 루프는 카운터 변수를 이용해 일정 범위 동안 for 루프 안의 블럭을 실행한다. 다음 예제는 10번 콘솔 출력을 반복하는 코드이다.
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Loop {0}", i);
}
C# foreach 반복 구문
foreach는 배열이나 컬렉션(Collection)의 각 요소에 대해 foreach 루프 내의 블럭을 실행한다. 다음 예제는 문자열 배열을 foreach를 사용하여 각 문자열 요소를 출
력하는 것이다.
string[] array = new string[] { "AB", "CD", "EF" };
foreach (string s in array)
{
Console.WriteLine(s);
}
for vs. foreach
foreach는 for 등 다른 루프 문장보다 내부적으로 보다 최적화되어 있으므로 가능하면 이를 사용할 것을 권장한다. 또한 for루프는 2차, 3차등의 다중 배열에서 여러번 루프를 돌려야 하지만, foreach는 아래와 같이 단순히 한 루프 문장으로 다중 배열을 모두 처리할 수 있다.
{
// 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 반복 구문
while은 while(조건식) 의 조건식이 참인 동안 계속 while내 블럭을 실행하는 것이
다. 다음 예제는 1부터 10까지 번호를 콘솔에 출력하는 코드이다.
while (i <= 10)
{
Console.WriteLine(i);
i++;
}
C# do while 반복 구문
do - while은 while과 비슷하나 while(조건식)까지 가기 이전이 while 블럭을 미리 한번 실행한다는 점에서 차이점이 있다.
int i=1;
do
{
Console.WriteLine(i);
i++;
} while (i < 10);
C# 반복 구문 예제
아래 예제는 콘솔로부터 Q키가 입력되지 전까지 계속 키 입력을 받아들인 후, 그동안 입력된 키들을 foreach 루프를 써서 출력하는 코드이다.
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);
Console.WriteLine();
foreach (char ch in keyList)
{
Console.Write(ch);
}
}
}
}
댓글 쓰기