C# 使用 LINQ 判断集合中两个字段是否存在重复
使用 C# 中的 LINQ 方法可以轻松判断集合中两个字段是否存在重复。下面介绍具体的步骤和示例代码。
- 使用
GroupBy方法将集合按照这两个字段分组。 - 使用
Where方法筛选出分组后的集合中,组内元素数量大于 1 的分组。 - 使用
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 类,包含 Name 和 Age 两个属性。然后创建了一个包含 5 个 Person 对象的 List 集合。接着,使用 LINQ 方法将集合按照 Name 和 Age 分组,并筛选出组内元素数量大于 1 的分组。最后,使用 Any 方法判断是否存在符合条件的分组,即两个字段有重复。结果输出 True,表示存在重复项。
总结:
通过使用 LINQ 的 GroupBy、Where 和 Any 方法,我们可以高效地判断集合中两个字段是否存在重复。这种方法简洁明了,易于理解和使用。
原文地址: https://www.cveoy.top/t/topic/mjue 著作权归作者所有。请勿转载和采集!