检查List <>中是否存在重复项

魔术米克

我需要检查并显示List <>集合中包含的所有重复项。

//Check for duplicate items
foreach (string y in myListCollection)
{
    if (myListCollection.FindAll(x => x.Contains(y)).Count > 1)
    {
        foreach (string path in myListCollection.FindAll(x => x.Contains(y)))
        {
            listbox1.items.add(path);
        }
    }
}

但这将返回整个列表。请问我做错了什么?

塞尔曼·杨(Selman Young)

您可以LINQ改用:

myListCollection.GroupBy(x => x)
         .Where(x => x.Count() > 1)
         .Select(x => x.Key)
         .ToList();

首先,通过group所有项的值,然后从包含多个项的组中获取每个键。

您正在搜索的容器中将不会返回完全重复的项目。例如,如果您有容器即使它不是重复的也将添加容器中,hell应检查是否相等:hellohellolistBox

foreach (string y in myListCollection)
{
   if (myListCollection.FindAll(x => x == y).Count > 1)
   {
        listbox1.Items.add(y);
   }
}

而且我不认为你需要的嵌套foreachloop.Anyway,上面的代码会增加重复的项目,但它仍然是不完全正确。如果你有四个hell会增加四个helllistBox。要修复,您可以使用Distinct或可以检查是否已添加该项目,但您不需要这样做。就像GroupBy我在上面显示的那样使用。还可以使用List<T>.ForEach方法将所有项目添加到listBox这样的环境中:

myListCollection.GroupBy(x => x)
         .Where(x => x.Count() > 1)
         .Select(x => x.Key)
         .ToList()
         .ForEach(x => listBox1.Items.Add(x));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查Java 8 Streams中是否存在重复项?

检查列中是否存在重复项并执行 sql

如何检查平面清单中是否存在重复项?

在Java中仅检查2D数组的行中是否存在重复项

如何检查一组数据中的字段之间是否存在重复项?

检查python列表/ numpy ndarray中是否存在重复项的最快方法

将重复项添加到集合中或检查元素是否存在,然后添加

如何检查List <Model>中的重复项

如何检查切片中是否存在重复项?

通过索引检查数组元素是否存在并删除重复项

如果B列中有重复项,请检查D列中雇员名称中是否存在重复项。如果是,则仅计数一次

SQL:检查一个表中是否存在另一个表中的条目,并删除重复项

检查ArrayList中是否有重复项。使用循环

检查重复项是否跨R中的两列

如何检查列表中是否包含重复项?

如何检查远程存储库中是否存在依赖项?

如何检查列表中是否存在字典项?PYTHON

检查Python字典中是否存在重复的键或值

如何检查 EasyAdmin prePersist 中是否存在重复/双倍记录

检查字段数组中是否存在重复的单词

在sql中检查重复项

在VEINS中检查重复项

检查arraylist中的重复项

Django,检查是否存在,但是否存在多个属性数组中的项

检查List <Map <String,String >>中是否存在String

检查 List<double[]> 的特定索引中是否已经存在值

检查@DBRef List <User>中是否存在User对象

检查List <T>是否有重复项,并带有可选单词以排除

检查字典列表中是否存在重复值并更新所述重复值