더북(TheBook)

30.4 데이터 정렬과 검색

LINQ의 확장 메서드 중에서 데이터를 오름차순으로 정렬할 때는 OrderBy()를 사용하고, 내림차순으로 정렬할 때는 OrderByDescending() 메서드를 사용합니다. 이 두 메서드의 매개변수 역시 Where() 메서드와 마찬가지로 람다 식을 입력받습니다.

 

OrderBy( ) 메서드로 문자열 컬렉션 오름차순 정렬하기

문자열 요소 3개를 가진 colors 배열을 사용하여 ABC 또는 가나다 순서의 오름차순으로 정렬된 새로운 값을 얻고 싶다면 OrderBy() 확장 메서드를 씁니다.

> string[] colors = { "Red", "Green", "Blue" };
> IEnumerable<string> sortedColors = colors.OrderBy(name => name);
> foreach (var color in sortedColors)
. {
.     Console.WriteLine(color);
. }
Blue
Green
Red

OrderBy() 메서드는 매개변수로 람다 식을 입력받는데, 정수나 문자열일 때는 name => name 또는 줄여서 c => c 형태만 사용합니다. OrderBy() 같은 LINQ 확장 메서드의 반환값은 IEnumerable <string> 대신에 짧게 var로 사용하면 좋습니다.

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