最近在專案中,剛好遇到這個需求,
需要比對兩個List,進行一些交集等操作,
在以前我們可能需要寫很多行來完成這些動作,
但現在我們只需要藉由LinQ就能輕鬆達到我們的目的囉!
實際演練
※本文使用int為例,若為使用自訂之DataModel,需實作IEquatable<T>介面才能使用
1. 取交集 (A和B都有)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
1 |
var intersectedList = list1.Intersect(list2); |
結果 : { 3 , 9 }
判斷A和B是否有交集
1 |
bool isIntersected = list1.Intersect(list2).Count() > 0
|
2. 取差集 (A有,B沒有)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
1 |
var expectedList = list1.Except(list2); |
結果 : { 1 , 2 , 5 }
判斷A和B是否有差集
1 |
bool isExpected = list1.Expect(list2).Count() > 0
|
3. 取聯集 (包含A和B)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
01 |
public static class ListExtensions
|
03 |
public static List<T> Merge<T>( this List<T> source, List<T> target)
|
-
六六分期app的软件客服如何联系?不知道吗?加qq群【895510560】即可!标题:六六分期
阅读:19137|2023-10-27
-
今天小编告诉大家如何处理win10系统火狐flash插件总是崩溃的问题,可能很多用户都不知
阅读:9973|2022-11-06
-
今天小编告诉大家如何对win10系统删除桌面回收站图标进行设置,可能很多用户都不知道
阅读:8317|2022-11-06
-
今天小编告诉大家如何对win10系统电脑设置节能降温的设置方法,想必大家都遇到过需要
阅读:8686|2022-11-06
-
我们在使用xp系统的过程中,经常需要对xp系统无线网络安装向导设置进行设置,可能很多
阅读:8627|2022-11-06
-
今天小编告诉大家如何处理win7系统玩cf老是与主机连接不稳定的问题,可能很多用户都不
阅读:9643|2022-11-06
-
电脑对日常生活的重要性小编就不多说了,可是一旦碰到win7系统设置cf烟雾头的问题,很
阅读:8611|2022-11-06
-
我们在日常使用电脑的时候,有的小伙伴们可能在打开应用的时候会遇见提示应用程序无法
阅读:7991|2022-11-06
-
今天小编告诉大家如何对win7系统打开vcf文件进行设置,可能很多用户都不知道怎么对win
阅读:8642|2022-11-06
-
今天小编告诉大家如何对win10系统s4开启USB调试模式进行设置,可能很多用户都不知道怎
阅读:7527|2022-11-06
|
请发表评论