gpt4 book ai didi

c# - 删除列表的重复项,按 C# 中的属性值选择?

转载 作者:行者123 更新时间:2023-11-30 14:12:55 24 4
gpt4 key购买 nike

我有一个对象列表,我需要从中删除一些重复项。如果它们具有相同的 Id 并且更喜欢 booleanValue 为 false 的那个,我们认为它们是重复的。这是我到目前为止所拥有的:

objects.GroupBy(x => x.Id).Select(x => x.Where(y => !y.booleanValue));

我已经确定 GroupBy 没有进行此类分组,因此我看不到任何其他函数是否正常工作。对此有什么想法吗?提前致谢。

最佳答案

你可以这样做:

var results = 
from x in objects
group x by x.Id into g
select g.OrderBy(y => y.booleanValue).First();

对于它在 objects 中找到的每个 Id,它将选择 booleanValue == false 的第一个元素,或者第一个 (如果它们都没有 booleanValue == false)。

如果你更喜欢流利的语法:

var results = objects.GroupBy(x => x.Id)
.Select(g => g.OrderBy(y => y.booleanValue).First());

关于c# - 删除列表的重复项,按 C# 中的属性值选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15939044/

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