0

我很难弄清楚如何完成我的问题标题中概述的任务。

基本上,我有一个 ' 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 不为空,如果点中存在任何 news_headlines 新闻对象,则将其从点中删除。返回过滤的斑点。

任何指导将不胜感激..

谢谢。

4

2 回答 2

0

如果您想从中挑选十个Spots然后过滤掉 中的那些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>

于 2013-02-10T14:18:33.803 回答
0

我认为stackoverflow中有类似的问题。无论如何,您可以使用“相交”来获取同时在广告位和标题中的元素,并将它们从广告位列表中删除。

代码应该很简单,但我有一段时间没有使用 VB.net,抱歉。

于 2013-02-10T14:18:53.443 回答