gpt4 book ai didi

C# 试图避免重复

转载 作者:太空狗 更新时间:2023-10-29 22:05:12 24 4
gpt4 key购买 nike

var multiples = from i in Enumerable.Range(min, (max - min))
from r in roots
where i % r == 0
select i;

例如,如果 roots = {2,10} 它将选择 20 两次。

这里是否可以避免重复?

最佳答案

使用 Distinct

var multiples = (from i in Enumerable.Range(min, (max - min))
from r in roots
where i % r == 0
select i).Distinct();

这适用于像 stringint 这样的简单类型。 在匿名类型上不是很好。

在你的例子中,i 是一个 int,因此它应该能够整理出重复项。

编辑

确实实际上适用于匿名类型(参见 Jeppe 的评论)。因为正如@Jeppe 所说,匿名类型有一个“好的”Equals enabeling Distict 来确定对象是否相等/重复。

关于C# 试图避免重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288330/

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