LINQ cung cấp nhiều phương thức độc đáo để xử lý và hợp nhất dữ liệu trên các danh sách, trong đó có phương thức Zip. Phương thức Zip được áp dụng cho việc xây dựng một danh sách mới dựa trên các phần tử dữ liệu của hai danh sách đầu vào.
Sau đây là một số ví dụ bạn có thể tham khảo để biết cách áp dụng phương thức Zip.
Ví dụ 1: Tạo một danh sách mới có kết quả từ danh sách chuỗi và danh sách số với nhau.
// danh sách số int[] numbers = { 1, 2, 3, 4 }; //danh sách chuỗi string[] words = { "one", "two", "three" }; //sử dụng phương thức Zip để nhập chung chuỗi số //thành 1 danh sách mới với mỗi phần tử là 1 chuỗi var numbersAndWords = numbers.Zip(words, (first, second) => first + " " + second); //vòng for để duyệt và in dữ liệu foreach (var item in numbersAndWords) Console.WriteLine(item); //Kết quả // 1 one // 2 two // 3 three
Ví dụ 2: Tạo danh sách mới là tích của từng phần tử ở 2 hai danh sách đầu vào
//danh sách số thứ 1 var left = new[] { 1, 2, 3 }; //danh sách số thứ 2 var right = new[] { 10, 20, 30 }; //hợp nhất thành danh sách tích của 2 danh sách trên var products = left.Zip(right, (m, n) => m * n); foreach(var item in products) Console.WriteLine(item); //Kết quả //10 //40 //90
Ví dụ 3: Tạo danh sách mới từ 2 danh sách mảng
List<string> list1 = {"Japan", "Vietnam", "UK"} List<string> list2 = {"Asia", "SEA", "Europe"} var list = list1.Zip(list2, (n, w) => new { country = n, area = w }); foreach (var item in list) Console.WriteLine(item.country + "_" + item.area); //Kết quả //Japan_Asia //Vietnam_SEA //UK_Europe
Như vậy, phương thức Zip được dùng bạn muốn hợp nhất 2 danh sách (không cần phải dùng kiểu dữ liệu) với nhau và cho danh sách mới với 1 số tùy biến hữu dụng. Bên cạnh, bạn còn có thể sử dụng Join, Concat có các tính năng tương tự như Zip.
- APA:
Dammio. (2018). Cách sử dụng phương thức Zip trong LINQ. https://www.dammio.com/2018/02/08/cach-su-dung-phuong-thuc-zip-trong-linq.
- BibTeX:
@misc{dammio,
author = {Dammio},
title = {Cách sử dụng phương thức Zip trong LINQ},
year = {2018},
url = {https://www.dammio.com/2018/02/08/cach-su-dung-phuong-thuc-zip-trong-linq},
urldate = {2025-01-31}
}