30.5 메서드 구문과 쿼리 구문
앞으로 우리는 개체 지향 프로그래밍 개념을 익힌 후 LINQ를 더 자세히 학습할 것입니다. 지금까지 살펴본 LINQ의 확장 메서드들을 사용하여 몇 가지 처리를 손쉽게 진행했습니다. LINQ에는 이처럼 확장 메서드들을 사용하여 원하는 로직을 처리하는 방법과 기능이 동일한 또 다른 문법인 쿼리 구문(query syntax)도 제공합니다.
• 메서드 구문(method syntax): 이 강의에서 살펴본 Where() 같은 메서드를 사용하여 컬렉션을 다루는 방법
• 쿼리 구문(query syntax): from, where, select 같은 키워드를 사용하여 쿼리(query) 형태로 컬렉션을 다루는 방법
1부터 10까지 정수 컬렉션을 다음과 같이 만들었다면, 짝수 데이터만 가져온 후 내림차순으로 정렬하는 내용을 메서드 구문과 쿼리 구문으로 동일하게 처리할 수 있습니다.
> var numbers = Enumerable.Range(1, 10);
메서드 구문을 사용하면 다음과 같이 처리합니다.
> numbers.Where(n => n % 2 == 0).OrderByDescending(n => n)
OrderedEnumerable<int, int> { 10, 8, 6, 4, 2 }