Asp.net 使用LINQ从另一个列表(对象)中删除匹配列表(对象)
我很难弄清楚如何完成问题标题中列出的任务 基本上,我有一个“Asp.net 使用LINQ从另一个列表(对象)中删除匹配列表(对象),asp.net,vb.net,linq,Asp.net,Vb.net,Linq,我很难弄清楚如何完成问题标题中列出的任务 基本上,我有一个“News”对象列表,定义如下: Dim news_list As List(Of News) = myNamespcae.News.ListNews() 根据条件,我有另一个“新闻”对象列表,如下所示: Dim news_headlines As List(Of News) = myNamespace.News.getHeadlines() 然后,我有'点'再次作为名单(新闻)作为 我正在努力完成; 如果新闻标题不是空的,如果spo
News
”对象列表,定义如下:
Dim news_list As List(Of News) = myNamespcae.News.ListNews()
根据条件,我有另一个“新闻”对象列表,如下所示:
Dim news_headlines As List(Of News) = myNamespace.News.getHeadlines()
然后,我有'点'再次作为名单(新闻)作为
我正在努力完成;
如果新闻标题不是空的,如果spots中存在任何新闻标题新闻对象,请将其从spots中删除。返回过滤点
如蒙指导,不胜感激
谢谢。如果您想从
点
中选择十个,然后过滤掉新闻标题
中的内容,它会是这样的(警告:VB中的LINQ语法完全来自内存):
如果您想过滤掉新闻标题中的内容,然后选择十个,它将如下所示:
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)
当然,您可以组合这两个查询。注意,我假设新闻标题
不为空。我还假设您的新闻项要么是相同的对象实例,要么是实现IEquatable
我认为stackoverflow中也存在类似的问题。无论如何,您可以使用来获取点和标题中的元素,并将它们从点列表中删除
代码应该很简单,但很抱歉,我已经有一段时间没有使用VB.net了。谢谢你,安,我想删除所有新闻标题,并从新闻中删除它们_list@Emin那么您想更改新闻列表的内容
?或者干脆把新闻标题
的内容从最后出现在点
的标题中排除掉?好吧,看来我引起了混乱。基本上,新闻列表和新闻标题都是(MyNewsObject的)列表,所以它们的类型相同。我想要的是创建另一个列表,其中包含新闻列表中的所有项目,不包括新闻标题中的项目。。。因此,把斑点看作是一种疾病;spots=news\u list-news\u headlines我认为我的第二个代码片段应该做你想做的事情(必要时修改语法!)L我无法让你的代码工作。我就是这样让它工作的:Dim ids=New HashSet(整型)(news_headlines.Select(Function(x)x.NewsID)),如果ids.Count>0,那么spots=news_list.Where(Function(x)Not ids.Contains(x.NewsID))。如果出现,则执行(10)End,但我不明白为什么代码没有给出所需的结果。
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)
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)