合併 Concat
將兩集合資料合併,產生新集合:
List<int> list1 = new() { 1, 2, 3, 4, 5 };
List<int> list2 = new() { 3, 4, 5, 6, 7 };
var result = list1.Concat(list2).ToList();
// 1, 2, 3, 4, 5, 3, 4, 5, 6, 7
聯集 Union
將兩集合資料合併,產生新集合,若有相同資料則會去除重複資料
List<int> list1 = new() { 1, 2, 3, 4, 5 };
List<int> list2 = new() { 3, 4, 5, 6, 7 };
var result = list1.Union(list2).ToList();
// 1, 2, 3, 4, 5, 6, 7
差集 Except
將 A 集合去除掉和 B 集合重複的內容,並產生新集合
List<int> list1 = new() { 1, 2, 3, 4, 5 };
List<int> list2 = new() { 3, 4, 5, 6, 7 };
var result = list1.Except(list2).ToList();
// 1, 2
交集 Intersect
將 A 集合與 B 集合重複的內容取出,產生新集合
List<int> list1 = new() { 1, 2, 3, 4, 5 };
List<int> list2 = new() { 3, 4, 5, 6, 7 };
var result = list1.Intersect(list2).ToList();
// 3, 4, 5
合併計算 Zip
將 A 集合與 B 集合依序將資料合併計算,產生新集合。若兩集合長度不同,則多餘的資料會被忽略
List<int> list1 = new() { 1, 2, 3, 4, 5, 6 };
List<int> list2 = new() { 3, 4, 5, 6, 7 };
var result = list1.Zip(list2)
.Select(x => x.First + x.Second)
.ToList();
// 4, 6, 8, 10, 12
延伸閱讀: C# LINQ 從 0 到 1 基礎教學
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com