3
A
回答
4
您可以通過.Intersect()
模擬這種檢查在路口設置了所有必需的元素。我想這是相當低效但又快又髒。
List<T> list = ...
List<T> shouldBeContained = ...
bool containsAll = (list.Intersect(shouldBeContained).Count == shouldBeContained.Count)
或者你可以用.All()來做到這一點。我想這是更有效的和更清潔:
List<T> list = ...
List<T> shouldBeContained = ...
bool containsAll = (shouldBeContained.All(x=>list.Contains(x));
0
LINQ的具有許多可用於檢查一組在另一個值中的存在的操作符。
我會用Intersect
:
Produces the set intersection of two sequences by using the default equality comparer to compare values.
0
雖然沒有什麼簡單的內置在...你總是可以創建擴展方法,使生活更輕鬆:
public static bool ContainsAny<T>(this IEnumerable<T> data,
IEnumerable<T> intersection)
{
foreach(T item in intersection)
if(data.Contains(item)
return true;
return false;
}
public static bool ContainsAll<T>(this IEnumerable<T> data,
IEnumerable<T> intersection)
{
foreach(T item in intersection)
if(!data.Contains(item))
return false;
return true;
}
相關問題
- 1. Redis - 替代檢查集合中是否存在多個值
- 2. 可以檢查一個集合或子集合是否存在?
- 3. 檢查一個值是否在與LINQ的集合中
- 4. 查詢數據存儲中存在的屬性值集合
- 5. 如何檢查集合中是否存在字段值
- 6. 檢查一個集合中是否存在一個對象(T)
- 7. 使用Linq查詢集合集合
- 8. 用linq查詢集合的子集合
- 9. 檢查mysql集合中是否存在值,如果存在,打印它
- 10. Kohana 3.2 ORM檢查集合中是否存在記錄
- 11. 檢查集合中是否存在某些參數
- 12. 在LINQ中查詢子集合
- 13. 檢查SQL中是否存在子集
- 14. LINQ:查詢集合是否包含另一個集合中的任何元素
- 15. 如何檢查一個集合是否已經存在於ArangoDB
- 16. 在SQL中存儲集合
- 17. 檢查集合中的值
- 18. 存儲整數集來檢查是否已經提到某個集合
- 19. 檢查存儲在XML數據類型列中的集合中是否存在值
- 20. LInq查詢收藏集合
- 21. LINQ查詢排序集合
- 22. 在創建之前檢查Firestore中是否存在一個集合
- 23. 在內存中保留一個大集合,用於查詢
- 24. 檢查對象是否已經存在集合 - Laravel
- 25. 嵌入表格集合:檢查實體是否存在
- 26. 檢查是否存在XML模式集合?
- 27. 如何檢查一個查詢是否存在多個值
- 28. LINQ查詢從一個集合到另一個集合
- 29. 替代檢查,值是否在集合中
- 30. 查詢Firebase中的多個集合
選擇及在哪裏?這將返回滿足您的條件的項目 – 2010-02-18 15:14:07