gpt4 book ai didi

c# - 根据是否重复返回true或false

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:15 26 4
gpt4 key购买 nike

当我的集合中有重复项时,我想返回 true,否则,我想返回 false。

我有以下 linq 查询。

var t = from i in selectedDrivers
group i by i.Value into g
where g.Count() > 1
select g.Count() > 1;

问题是,当有多个重复项时,它会返回多个 true,如果没有任何重复项,它什么也不返回(应该是 false)。

最佳答案

Problem is though, that when there are multiple duplicates, it will return multiple trues, and if there aren't any duplicates, it returns nothing (should be false).

好吧,这很容易解决:

bool hasDupes = t.Any();

如果有多个为真,则为真。如果没有,则为假。

但坦率地说,我倾向于简单地编写我自己的扩展方法,当它找到第一个 重复项时会退出,而不是构建一组所有重复项然后查询该集合:

static bool HasDuplicates<T>(this IEnumerable<T> sequence)
{
var set = new HashSet<T>();
foreach(T item in sequence)
{
if (set.Contains(item))
return true;
set.Add(item);
}
return false;
}

现在就说

bool dupes = selectedDrivers.HasDuplicates();

简单易行。

关于c# - 根据是否重复返回true或false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539173/

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