gpt4 book ai didi

c# - Linq 查询我的 List 以查看一个列表的项目是否在另一个列表中

转载 作者:行者123 更新时间:2023-11-30 20:20:30 26 4
gpt4 key购买 nike

我已经尝试了相关问题中的多行代码,但它们似乎对我不起作用。

我有两个 List<Square>小号:

List<Square> List1 = new List<Square> { sq1, sq2, sq3 };
List<Square> List2 = new List<Square> { sq1, sq5, sq7 };

我想从 List2 中删除所有方 block 在 List1 中已经。例如,我尝试了这段代码:

var test2NotInTest1 = List1.Where(l1 => !List2.Any(l2 => l1.Contains(List2)));

来自相关问题,但它根本不起作用。我还是个新手,所以我可能只是打错了。我希望你能帮助我!

最佳答案

这不适合你吗?

var test2NotInTest1 = List2.Except(List1);

如果 Square 是一个 class(不是 struct)并且列表元素指向相同的变量,这应该可以工作。否则你需要实现 IEquatable在您的 Square 类/结构上(或者至少提供正确的 GetHashCodeEquals 函数)。

关于c# - Linq 查询我的 List<Square> 以查看一个列表的项目是否在另一个列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36530820/

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