gpt4 book ai didi

c# - 如何从一个 List 中删除在另一个 List 中找到的重复项?

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:26 25 4
gpt4 key购买 nike

这是针对 .NET 2.0 的,所以我不能使用 LINQ。

我有一个有趣的问题。

我正在合并两个自定义类型“文章”的列表。

下面的代码很好地完成了这项工作:

List<Article> merge = new List<Article>(GetFeatureArticles());
merge.AddRange(result);

return merge;

GetFeatureArticle 只有 2 个项目,它们是合并列表中的前两个元素。“result”很大,其元素落后于“GetFeatureArticle”的元素。

问题是我需要比较从“GetFeatureArticles()”返回的列表到“结果”中的列表,如果有匹配项,则删除结果中的匹配项,而不是在“GetFeatureArticles”中。两个列表的类型都是 List<Article>.

不幸的是,我受限于 C# 2.0。

谢谢。

编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑

这是我最终采用的实现方式 GetFeaturedArticles()永远是两个项目:

List<Article> k = new List<Article>(GetFeatureArticles());

foreach (Article j in k)
{
for( int i = 0; i < tiles.Count; i++ )
{
if (j.ID == tiles[i].ID)
tiles.Remove(tiles[i]);
}
}

k.AddRange(tiles);

return k;

最佳答案

假设您实现了某种对象相等性。

var listA = new List<Article> {a, b, c, d};
var listB = new List<Article> {e, f}; //Where e, f are equal to b, c in a.
listA.RemoveAll(listB.Contains);

关于c# - 如何从一个 List<T> 中删除在另一个 List<T> 中找到的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7560545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com