我在查询如何完成问题标题中概述的任务时遇到了一些困难。
基本上,我有一个'News
'对象列表,定义为:
Dim news_list As List(Of News) = myNamespcae.News.ListNews()
根据条件,我有另一个'新闻'对象列表为;
Dim news_headlines As List(Of News) = myNamespace.News.getHeadlines()
然后,我再次将'spot'作为List(of News)作为;
Dim spots = (From n In news_list Take (10) Select n)
我想要完成; 如果news_headlines不为空,如果斑点中存在任何news_headlines新闻对象,则将其从斑点中删除。返回过滤点。
任何指导都将受到赞赏..
感谢。
答案 0 :(得分:0)
如果你想从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>
。
答案 1 :(得分:0)
我认为stackoverflow中存在类似的问题。无论如何,您可以使用"Intersect"来获取斑点和标题中的元素,并将其从斑点列表中删除。
代码应该是微不足道的,但我暂时没有使用VB.net,抱歉。