LINQ에서 두 개의 컬렉션을 병합하여 각 요소 쌍을 특정 방식으로 처리하는 데 사용됨.
두 컬렉션의 요소를 1:1로 묶어서 연산을 수행하며, 두 컬렉션 중 짧은 쪽의 길이에 맞춰 동작.
var result = collection1.Zip(collection2, (item1, item2) => /* 연산 */);
int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };
var result = a.Zip(b, (x, y) => x + y);
foreach (var sum in result)
{
Console.WriteLine(sum); // 출력: 5, 7, 9
}
string[] firstNames = { "John", "Jane", "Bob" };
string[] lastNames = { "Doe", "Smith", "Brown" };
var fullNames = firstNames.Zip(lastNames, (first, last) => $"{first} {last}");
foreach (var name in fullNames)
{
Console.WriteLine(name);
// 출력:
// John Doe
// Jane Smith
// Bob Brown
}