c# - 将不等于另一个列表中的项目的所有项目添加到列表中
问题描述
我有一个清单:
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);
}
但我不知道如何让它工作。
解决方案
尝试这样的事情:
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);
}
推荐阅读
- python - 如何将字符串从 GUIzero 的 TextBox 转换为 int?
- swift - Swift 类不保留其属性之一中的值
- ios - Swiftui:Firebase 数组检索
- apache-flink - 集成 DataStreamAPI 和 TableAPI
- firewall - 防火墙阻止 WSL 2
- python - 使用 django 的套接字是否需要通道?有没有其他选择或方式?
- python - 从命令提示符激活虚拟环境返回“系统找不到指定的路径”但仍然激活 Venv?
- excel - 从 excel 更新书签
- azure-devops - 具有多个存储库的 vsts 管道
- swift - Swift UIKit Combine - 处理发布者事件时如何重新加载表格视图?