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. NodeJS + Mongo native - 检查查询之前是否存在集合
- 6. NUnit声明一个集合,检查是否存在一个值
- 7. 如何检查集合中是否存在字段值
- 8. python - 检查列表中是否存在确切的值集合
- 9. 检查mongo集合中是否存在值
- 10. 检查一个集合中是否存在一个对象(T)
- 11. 检查两个集合中是否存在任何元素
- 12. 流星检查用户集合中是否存在用户名
- 13. 如何使用Node.js检查MongoDB中是否存在集合?
- 14. 用linq查询集合的子集合
- 15. 使用Linq查询集合集合
- 16. 在分组集合中有效检查是否存在
- 17. 检查mysql集合中是否存在值,如果存在,打印它
- 18. 检查是否在一个jQuery集合
- 19. Kohana 3.2 ORM检查集合中是否存在记录
- 20. 检查集合中是否存在某些参数
- 21. 检查MySQL集合列表中是否存在一些项目
- 22. 在LINQ中查询子集合
- 23. 检查具有某个值的集合中的所有项目是否都在Linq的另一个集合中?
- 24. LINQ:查询集合是否包含另一个集合中的任何元素
- 25. 检查SQL中是否存在子集
- 26. 如何检查一个集合是否已经存在于ArangoDB
- 27. Node.js - Mongoose - 检查一个集合是否存在
- 28. 在SQL中存储集合
- 29. 存储整数集来检查是否已经提到某个集合
- 30. 检查集合中的值
选择及在哪里?这将返回满足您的条件的项目 – 2010-02-18 15:14:07