我必須找出兩個集合是否有任何交集,我這樣做的方式是使用LINQ的「Join」來獲得兩個集合的交集,然後使用「Any」。但我想知道,還有其他更「優雅」的方式嗎?兩個集合中的任何交集
11
A
回答
14
Enumerable.Intersect
可能是你在找什麼。
從MSDN:
int[] id1 = { 44, 26, 92, 30, 71, 38 };
int[] id2 = { 39, 59, 83, 47, 26, 4, 30 };
IEnumerable<int> both = id1.Intersect(id2);
if(both.Any())...
11
bool intersects = collection1.Intersect(collection2).Any();
這是假定「適當」的實施爲你收集的成員平等的hashCode(這是例如用於原語的情況下),否則,你可以通過自定義IEqualityComparer
。
0
1
這裏是我們使用的擴展方法:
public static bool IntersectAny<T>(this IEnumerable<T> first, IEnumerable<T> second, IEqualityComparer<T> comparer = null) {
return first.Intersect(second, comparer).Any();
}
相關問題
- 1. 兩個集合交集
- 2. python中三個集合的交集?
- 3. 查找兩個集合之間的交集MongoDB中
- 4. 集合的交集
- 5. 兩個或多個排序集合的交集
- 6. 通過HQL檢查兩個集合的交集
- 7. 如何獲取兩個列表並返回Python中的集合的交集?
- 8. 如何計算Hive中兩個數組的交集和聯合?
- 9. 將一個集合分爲兩個不相交的子集(所有組合)
- 10. 兩個UIViewImages的交集
- 11. 如何計算C++中兩個STL集的交集的大小
- 12. 基於並集和交集合並兩個json數組對象
- 13. 如何查找集合的交集
- 14. 合併兩個IGrouping集合
- 15. 結合兩個集合backbone.js
- 16. 合併兩個Eloquent集合
- 17. 如何在Silverlight中將兩個可觀察的集合合併到集合中
- 18. 如何獲取多個交集但忽略不交集的集合
- 19. 檢查兩個集合中是否存在任何元素
- 20. 爪哇兩個集合中包含任何
- 21. 代表Java中兩個集合串聯的集合
- 22. Python,集合,比較同一集合中的兩個元素
- 23. 如何獲得兩個CGPath的交集?
- 24. 如何合併兩個Ruby集合?
- 25. 在序言中不使用成員函數查找兩個集合的交集
- 26. Prolog中兩個字符串的交集
- 27. 在MongoDB中合併兩個集合
- 28. 在MongoDB中合併兩個集合
- 29. 兩個表中的行的子集之間的重疊/交集
- 30. Scala:交換集合中的兩個關鍵值?
謝謝!對此,我真的非常感激 :) –