首页 > 解决方案 > 将不等于另一个列表中的项目的所有项目添加到列表中

问题描述

我有一个清单:

baseList

还有另一个清单:

relatedList

我想添加relatedItems到 中relatedList,但仅限于那些在 中还没有相等项目的项目baseList

我在想类似的事情:

    foreach (var baseItem in baseList)
    {
         relatedList.AddRange(GetRelatedItems(baseItem)).Except(x => x in baseList);
    }

或者

    foreach (var baseItem in baseList)
    {
         relatedList.AddRange(GetRelatedItems(baseItem)).Except(x => x.id not in baseList);
    }

但我不知道如何让它工作。

标签: c#

解决方案


尝试这样的事情:

foreach (var baseItem in baseList)
{
    relatedList.AddRange(GetRelatedItems(baseItem)).Except(x => baseList.Where(y => x.id == y.id);
}

或者

foreach (var baseItem in baseList)
{
    relatedList.AddRange(GetRelatedItems(baseItem)).Except(x => baseList.Where(y => x.id != y.id);
}

推荐阅读