Programing/C#

C# 프로그래밍의 기초 : Foreach 문

유니얼 2024. 3. 23. 19:17
728x90

foreach 문은 C#에서 컬렉션 또는 배열의 각 요소를 순회하기 위해 사용되는 제어 구조입니다. 이 구조는 컬렉션의 시작부터 끝까지 각 요소에 대해 반복적으로 작업을 수행할 때 매우 유용합니다. foreach 문의 사용은 코드를 더 읽기 쉽고, 관리하기 쉽게 만들어, 컬렉션 처리를 간결하게 표현할 수 있게 합니다.

Foreach 문의 기본 구조

foreach 문의 기본 구조는 다음과 같습니다:

foreach (타입 변수명 in 컬렉션명)
{
    // 변수명을 사용한 작업 수행
}

여기서 타입은 컬렉션 내 요소의 데이터 타입을 의미하고, 변수명은 반복문 내에서 각 요소에 접근하기 위해 사용되는 변수입니다. 컬렉션명은 배열이나 리스트 등 순회할 컬렉션의 이름입니다.

Foreach 문의 작동 방식

foreach 문은 컬렉션의 첫 번째 요소부터 시작하여, 컬렉션의 각 요소를 순차적으로 변수명에 할당하고, 반복문의 본문을 실행합니다. 이 과정은 컬렉션의 모든 요소가 처리될 때까지 계속됩니다. foreach 문은 내부적으로 컬렉션의 GetEnumerator 메서드를 호출하여 순회를 수행합니다.

Foreach 문의 사용 예제

다음은 foreach 문을 사용하여 배열의 모든 요소를 출력하는 예제 코드입니다:

string[] fruits = { "Apple", "Banana", "Cherry" };

foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}

이 코드는 fruits 배열의 각 요소를 순회하며, 각 과일의 이름을 콘솔에 출력합니다.

Foreach 문의 장점

  • 간결성과 가독성: foreach 문은 컬렉션의 각 요소를 처리하는 코드를 간결하고 읽기 쉽게 만들어 줍니다.
  • 안정성: foreach 문은 컬렉션의 요소를 수정하지 않는 한 반복 도중 컬렉션의 구조가 변경되는 것을 방지합니다. 이는 컬렉션을 순회하는 동안 발생할 수 있는 오류를 줄여줍니다.
  • 범용성: 배열, 리스트, 딕셔너리 등 다양한 컬렉션 타입에 사용할 수 있습니다.

전체코드

using System;

class Program
{

    static void Main(string[] args)
    {
        
        // 배열 예제
        string[] fruitsArray = { "Apple", "Banana", "Cherry" };
        Console.WriteLine("Fruits in the array:");
        foreach (string fruit in fruitsArray)
        {
            Console.WriteLine(fruit);
        }

        // 리스트 예제
        List<string> fruitsList = new List<string> { "Mango", "Orange", "Grapes" };
        Console.WriteLine("\nFruits in the list:");
        foreach (string fruit in fruitsList)
        {
            Console.WriteLine(fruit);
        }

        // 딕셔너리 예제
        Dictionary<string, string> fruitsDict = new Dictionary<string, string>
        {
            { "red", "Apple" },
            { "yellow", "Banana" },
            { "purple", "Grapes" }
        };
        
        Console.WriteLine("\nFruits in the dictionary:");
        foreach (KeyValuePair<string, string> entry in fruitsDict)
        {
            Console.WriteLine($"Color: {entry.Key}, Fruit: {entry.Value}");
        }
        // 결과
        // Fruits in the array:
        // Apple
        // Banana
        // Cherry

        // Fruits in the list:
        // Mango
        // Orange
        // Grapes

        // Fruits in the dictionary:
        // Color: red, Fruit: Apple
        // Color: yellow, Fruit: Banana
        // Color: purple, Fruit: Grapes
    }
}

결론

foreach 문은 C#에서 컬렉션을 효율적으로 순회하고 처리할 수 있는 강력한 도구입니다. 그것은 코드의 가독성을 높이고, 프로그래머가 컬렉션의 요소에 더 집중할 수 있도록 해줍니다. 따라서 컬렉션의 각 요소에 대해 반복적인 작업을 수행해야 할 때 foreach 문의 사용을 고려해보는 것이 좋습니다.

반응형