Note ≡ Zip 확장 메서드
LINQ의 Zip 확장 메서드는 관련 있는 시퀀스(컬렉션) 2개를 묶어 출력합니다. 일반적인 환경에서는 중요하지 않은 메서드이므로 간단히 살펴보고 넘어갑니다.
> int[] numbers = { 1, 2, 3 }; > string[] words = { "하나", "둘" }; > var numbersAndWords = numbers.Zip(words, (first, second) => first + "-" + second); > numbersAndWords ZipIterator { "1-하나", "2-둘" }
Zip 확장 메서드는 배열 2개 중 하나가 먼저 끝날 때까지 반복하면서 배열 내용을 원하는 형태로 병합할 수 있습니다. 앞 예제에서 numbers 배열은 요소가 3개이지만, words 배열은 요소가 2개이므로 데이터를 두 번 반복해서 병합하여 새로운 배열을 생성합니다.
마이크로소프트 Docs 온라인 설명서에서 다음 확장 메서드와 관련한 문서를 참고합니다.
• SelectMany()
• TakeWhile()
이 강의에서는 다른 프로그래밍 언어와 달리 C#의 혁신적인 기능 중 하나인 LINQ를 다루었습니다. 아직 다루지 않은 LINQ 기능도 많지만, 배열과 컬렉션에서 데이터를 여러 방식으로 조회하는 방법을 알아보았습니다. 앞으로 클래스와 개체를 살펴본 후 좀 더 다양한 LINQ의 확장 메서드와 쿼리 구문을 다루어 보겠습니다.
주석
1 for 문과 if 문으로 최댓값과 최솟값을 구하는 코드는 조금 뒤에 살펴봅니다.