2015-11-05 180 views
0

我有一個包含課程代碼的字符串列表以及一個具有courseCode作爲屬性的對象列表。將字符串與另一個列表中的對象屬性進行比較

我試圖找到一個linq表達式來比較兩個,並讓我知道是否有任何匹配,在字符串列表中的項目和對象列表中的courseCode屬性之間的所有項目。

我有一個工作表達剛纔和,長話短說,我再也不會和這是一個奇蹟,我的筆記本電腦和顯示器是不是在萬件:)

下面是我目前最好的猜測在比較。 results是對象列表,而coursesThatWork是字符串列表。下面的表達式給出錯誤信息

無法將表達式類型「System.Collections.Generic.IEnumerable返回類型‘布爾’

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

回答

4

你所得到的錯誤,因爲Where期望一個布爾謂詞但是你再次通過Where其中返回IEnumarable<T>,從而出現錯誤。您需要Any這裏將返回一個布爾值匹配條件: -

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

非常好,謝謝! – NealR

+0

@NealR一定要接受答案。 –

+0

也許符合Any:'!results.Any(x => coursesThatWork.Any(y => y.Equals(x.CourseCode)))'' –

相關問題