一尘不染

C#确定列表中的重复项[duplicate]

algorithm

要求:在未排序的列表中,确定是否存在重复项。我执行此操作的典型方法是n平方嵌套循环。我想知道其他人如何解决这个问题。Linq中是否有一种优雅,高性能的方法?带有lambda或比较器的通用类将是不错的选择。


阅读 156

收藏
2020-07-28

共1个答案

一尘不染

除非我缺少任何东西,否则您应该可以使用进行简单的操作Distinct()。当然,它不是您可以想到的最复杂的实现,但是它会告诉您是否删除了所有重复项:

var list = new List<string>();

// Fill the list

if(list.Count != list.Distinct().Count())
{
     // Duplicates exist
}
2020-07-28