for

for (int i=0; i<10; i++)
{
    Console.WriteLine($"{i}");
}

foreach

  • 배열, 컬렉션의 각 요소를 하나씩 꺼내와서 사용할 때 사용.
  • for 보다 간결한 코드.
  • C# 배열의 경우 foreach 사용시 최적화가 되기 때문에 for와 동일한 성능.
string[] array = new string[] {"Foo", "Bar", "Baz"};
foreach (string s in array)
{
    Console.WriteLine(s);
}
  • 다중 루프인 경우 foreach를 사용하면 편리하다.
string[,,] arr = new string[,,] { 
    { {"0", "1"}, {"10","11"} }, 
    { {"100", "101"}, {"110", "111"} }
};

Console.WriteLine("for:");
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++)
        {
            Console.WriteLine($"[{i},{j},{k}] = {arr[i, j, k]}");
        }
    }
}
Console.WriteLine("foreach:");
foreach (var s in arr)
{
    Console.WriteLine(s);
}

while

  • True 동안 반복
int i=1;
while (i<=10)
{
    Console.WriteLine(i);
    i++;
}

do while

  • do 블럭 선실행 후 반복검사
int i=1;
do
{
    Console.WriteLine(i);
    i++;
} while (i<10);

참고자료