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