[c#] C# 이터레이터와 LINQ

C#에는 이터레이터(Iterator) 및 Language Integrated Query(LINQ)와 같은 기능이 있습니다. 이러한 기능은 코드 작성 및 데이터 처리를 간편하게 합니다. 이터레이터와 LINQ는 데이터 컬렉션을 반복하고 쿼리하는 데 사용됩니다.

이터레이터(Iterator)

이터레이터는 컬렉션 또는 시퀀스의 각 항목에 대한 반복 작업을 수행하는 데 사용됩니다. 이터레이터를 사용하면 개발자는 직접 루프를 작성하는 대신 간단한 구문을 사용할 수 있습니다. 이터레이터는 “yield” 키워드를 사용하여 각 항목을 반환하고 반복 열거를 지원합니다.

아래는 간단한 이터레이터 메서드의 예시입니다:

public IEnumerable<int> GetNumbers()
{
    yield return 1;
    yield return 2;
    yield return 3;
}

위의 예시에서 GetNumbers 메서드는 yield를 사용하여 각 숫자를 반환합니다.

Language Integrated Query (LINQ)

LINQ는 데이터 컬렉션에서 쿼리를 수행하는 데 사용되는 표현형 언어입니다. LINQ를 사용하면 SQL과 유사한 구문으로 데이터를 필터링, 정렬, 그룹화 및 변환할 수 있습니다. LINQ는 컴파일 시점에 형식 안전성을 제공하므로 코드 오류를 줄일 수 있습니다.

아래는 LINQ를 사용하여 컬렉션에서 짝수만 필터링하는 예시입니다:

var evenNumbers = numbers.Where(n => n % 2 == 0);

위의 예시에서 Where 메서드는 주어진 조건에 따라 컬렉션을 필터링합니다.

이러한 기능은 C# 코드를 간결하고 가독성이 높게 만들어주며, 데이터 처리 작업을 단순화하여 개발자의 생산성을 향상시킵니다.

이터레이터와 LINQ는 C#의 강력한 기능으로, 데이터 처리와 관련된 작업을 효율적으로 수행할 수 있도록 도와줍니다.

더 많은 정보를 원하시면 Microsoft 공식 문서를 참고하세요.