使用 C# 中的 LINQ 方法可以轻松判断集合中两个字段是否存在重复。下面介绍具体的步骤和示例代码。

  1. 使用 GroupBy 方法将集合按照这两个字段分组。
  2. 使用 Where 方法筛选出分组后的集合中,组内元素数量大于 1 的分组。
  3. 使用 Any 方法判断是否存在符合条件的分组,即两个字段有重复。

示例代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        List<Person> persons = new List<Person>()
        {
            new Person() { Name = 'Tom', Age = 18 },
            new Person() { Name = 'Jerry', Age = 20 },
            new Person() { Name = 'Jack', Age = 18 },
            new Person() { Name = 'Tom', Age = 22 },
            new Person() { Name = 'Mike', Age = 20 }
        };

        bool hasDuplicate = persons
            .GroupBy(p => new { p.Name, p.Age })
            .Where(g => g.Count() > 1)
            .Any();

        Console.WriteLine(hasDuplicate);  // 输出:True
    }
}

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

在这个示例中,我们定义了一个 Person 类,包含 NameAge 两个属性。然后创建了一个包含 5 个 Person 对象的 List 集合。接着,使用 LINQ 方法将集合按照 NameAge 分组,并筛选出组内元素数量大于 1 的分组。最后,使用 Any 方法判断是否存在符合条件的分组,即两个字段有重复。结果输出 True,表示存在重复项。

总结:

通过使用 LINQ 的 GroupByWhereAny 方法,我们可以高效地判断集合中两个字段是否存在重复。这种方法简洁明了,易于理解和使用。

C# 使用 LINQ 判断集合中两个字段是否存在重复

原文地址: https://www.cveoy.top/t/topic/mjue 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录