我很难弄清楚如何完成问题标题中列出的任务。
基本上,我有一个"News
"对象列表,定义为:
Dim news_list As List(Of News) = myNamespcae.News.ListNews()
根据条件的不同,我有另一个"新闻"对象列表作为;
Dim news_headlines As List(Of News) = myNamespace.News.getHeadlines()
然后,我有"点"再次作为列表(新闻)作为;
Dim spots = (From n In news_list Take (10) Select n)
我正在努力完成;如果news_headlines不为空,如果spots中存在任何news_headlines news对象,请将其从spots中删除。返回过滤后的斑点。
如有任何指导,我们将不胜感激。。
谢谢。
如果你想从Spots
中挑选10个,然后过滤掉news_headlines
中的那些,它会是这样的(警告:VB中的LINQ语法完全来自内存):
Dim spots1 = (From n In news_list Take (10) Select n)
Dim spots2 = (From n in spots1 Where Not news_headlines.Contains(n) Select n)
如果你想过滤掉news_headlines
中的那些,然后选择十个,它应该是这样的:
Dim spots1 = (From n In news_list Where Not news_headlines.Contains(n) Select n)
Dim spots2 = (From n in spots1 Take (10) select n)
当然,您可以将这两个查询组合起来。注意,我假设news_headlines
不为空。我还假设您的新闻项目是相同的对象实例或实现IEquatable<T>
。
我认为stackoverflow中也有类似的问题。无论如何,您可以使用"Intersect"来获取点和标题中的元素,并将它们从点列表中删除。
代码应该很琐碎,但我已经有一段时间没有使用VB.net了,对不起。