Ron*_*ona 5 c# linq comparison list subset
我有两个列表如下
var query1 = from enrollments in db.Enrollments
where enrollments.studentID == studentID && enrollments.result >= 50 && enrollments.enrolled == false
select enrollments.subjectID;
var query2 = from prerequisites in db.Prerequisites
where prerequisites.subjectID == subjectID
select prerequisites.prerequisiteID;
Run Code Online (Sandbox Code Playgroud)
现在我想确保query2中的所有数字都存在于query1中.换句话说,我想确保query2是query1的一部分
有任何想法吗?
PS
-你可以肯定的是subjectID和prerequisiteID是一回事
- 我可以将query1和query2转换为这样的列表 query.ToList()
Dam*_*ith 14
bool results = query2.All(i=>query1.Contains(i));
Run Code Online (Sandbox Code Playgroud)
相关问题如下:
您只需检查以查看query2和之间的集合差异query1是否为空集:
var isSubset = !query2.Except(query1).Any();
Run Code Online (Sandbox Code Playgroud)
请参阅LINQ方法Enumerable.Except和Enumerable.Any.