📌  相关文章
📜  c# 查看列表是否包含任何重复项 - C# (1)

📅  最后修改于: 2023-12-03 15:13:51.992000             🧑  作者: Mango

在C#中如何查看列表是否包含任何重复项

在C#中,我们可以使用一些内置方法来检查列表是否包含任何重复项。以下是几种方法:

使用Linq方法

我们可以使用Linq的Distinct()方法来判断列表中是否存在重复项。如果List对象count()方法的返回值与Distinct()方法的返回值不同,则说明列表中包含重复项。

List<string> list = new List<string>();

bool hasDuplicates = list.Count() != list.Distinct().Count();

if(hasDuplicates)
{
    Console.WriteLine("列表包含重复项!");
}
else
{
    Console.WriteLine("列表不包含重复项!");
}
使用HashSet

我们还可以使用HashSet来检查列表中是否包含重复项。HashSet可以快速地判断列表中是否存在重复项。

List<string> list = new List<string>();
HashSet<string> set = new HashSet<string>();

foreach(string s in list)
{
    if(!set.Add(s))
    {
        Console.WriteLine("列表包含重复项!");
        break;
    }
}
使用Sort方法

我们可以使用Sort()方法来对List进行排序,然后比较相邻的元素是否相等来检查列表是否包含重复项。

List<string> list = new List<string>();

list.Sort();

for(int i = 0; i < list.Count - 1; i++)
{
    if(list[i] == list[i + 1])
    {
        Console.WriteLine("列表包含重复项!");
        break;
    }
}

以上三种方法都可以用来检查列表是否包含任何重复项。您可以根据您的需求选择适合您的方法。

以上介绍完毕,希望能对您有所帮助。