Sử dụng phương thức Zip() trong LINQ để kết hợp hai chuỗi (sequences) song song, sau đó duyệt bằng một vòng lặp foreach duy nhất.
Ví dụ: Kết hợp mảng int và string
var numbers = new[] { 20, 40, 60 };
var words = new[] { "ele1", "ele2", "ele3" };
var combined = numbers.Zip(words, (n, w) => new { Number = n, Word = w });
foreach (var item in combined)
Console.WriteLine($"{item.Number}{item.Word}");
// 20ele1
// 40ele2
// 60ele3
Mã nguồn hoàn chỉnh
using System;
using System.Collections.Generic;
using System.Linq;
public class Demo
{
public static void Main()
{
var val = new[] { 20, 40, 60 };
var str = new[] { "ele1", "ele2", "ele3" };
var res = val.Zip(str, (n, w) => new { Number = n, Word = w });
foreach (var a in res)
Console.WriteLine(a.Number + a.Word);
}
}
Kết quả
20ele1
40ele2
60ele3
Zip Overloads
| Phiên bản | Cú pháp | Ghi chú |
|---|---|---|
| C# 7.0+ | Zip | 3 tham số |
| .NET 6+ / C# 10+ | Zip | 3 sequences, tuple result |
| .NET 6+ | Zip | Trả về tuple (TFirst, TSecond) |