더북(TheBook)

쿼리 구문을 사용하여 컬렉션 정렬하기

메서드 구문과 쿼리 구문을 사용하여 컬렉션에서 홀수만 가져온 후 내림차순으로 정렬해서 출력하는 예제를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

메서드 구문과 쿼리 구문 비교: LinqQuerySyntax.cs

using System;
using System.Collections.Generic;
using System.Linq;

class LinqQuerySyntax
{
    static void Main()
    {
        int[] numbers = { 3, 2, 1, 4, 5 };

        //① 메서드 구문
        IEnumerable<int> methodSyntax =
            numbers.Where(n => n % 2 == 1).OrderBy(n => n);

        foreach (var n in methodSyntax)
        {
            Console.WriteLine(n);
        }

        //② 쿼리 구문
        IEnumerable<int> querySyntax =
            from num in numbers
            where num % 2 == 1
            orderby num
            select num;

        foreach (var n in querySyntax)
        {
            Console.WriteLine(n);
        }
    }
}

실행 결과

1
3
5
1
3
5

의 메서드 구문을 사용하는 코드와 의 쿼리 구문을 사용하는 코드는 형태만 다를 뿐 실행 결과는 동일합니다. 쿼리 구문은 한 줄에 모두 작성해도 되고, 앞 예제처럼 키워드별로 줄 단위로 작성하여 가독성을 높일 수도 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.