在对象列表中查找相似的属性
本文关键字:相似 属性 查找 对象 列表 | 更新日期: 2023-09-27 18:10:46
我有一个类Employee
:
public class Employee
{
public string SSN;
public string empNumber;
public int someValue;
}
我想检查员工是否共享相似的SSN和相似的empNumber。我有一个List<Employee>
可以搜索。员工的SSN和empNumber不能相同。最后,我想填充一个列表,其中包含只共享SSN和empNumber的员工。如果这个列表的大小不是0,那么我知道要发送错误消息。
我知道我可以使用LINQ或foreach,但我不确定哪种方法最适合这种情况。
似乎是一个相当简单的GroupBy
-假设您的List<Employee>
是在一个变量employees
:
var dupes = employees.GroupBy(e => new {e.SSN, e.empNumber})
.Where(g => g.Count() > 1);
变量dupes
现在将包含一个可枚举的匿名对象列表,其属性为
-
SSN
-
empNumber
表示副本。每个项目本身也是一个IEnumerable<Customer>
,其中包含自己的副本(来自原始列表)。