比较字符串列表与另一个列表中的对象属性

时间:2015-11-05 19:41:02

标签: c# linq

我有一个包含课程代码的字符串列表,以及一个以courseCode作为属性的对象列表。

我试图找到一个linq表达式来比较两者,并让我知道字符串列表中的项与对象列表中的courseCode属性之间是否存在任何匹配。

我刚才有一个工作表达,长话短说,我不再,这是一个奇迹我的笔记本电脑和显示器不是百万件:)

以下是我目前对比较的最佳猜测。 results是对象列表,而coursesThatWork是字符串列表。下面的表达式给出了错误消息

  

无法转换表达式类型' System.Collections.Generic.IEnumerable以返回类型' bool'

results.Where(x => coursesThatWork.Where(y => y.Equals(x.CourseCode))).Count() == 0

1 个答案:

答案 0 :(得分:4)

您收到错误是因为Where需要一个布尔谓词,但是您再次传递Where并返回IEnumarable<T>因此错误。你需要Any这里将返回匹配条件的布尔值: -

results.Where(x => coursesThatWork.Any(y => y.Equals(x.CourseCode))).Count() == 0