gpt4 book ai didi

c# - 从列表中删除具有重复属性的对象

转载 作者:行者123 更新时间:2023-11-30 14:00:40 25 4
gpt4 key购买 nike

我有一个 C# 中的对象列表。所有对象都包含属性 dept 和 course。
有几个对象具有相同的部门和类(class)。

如何在每个唯一(部门和类(class))属性只有一个对象的情况下修剪列表(或创建一个新列表)。

[任何额外的重复项都从列表中删除]

我知道如何使用单个属性执行此操作:

fooList.GroupBy(x => x.dept).Select(x => x.First());

但是,我想知道如何为多个属性(2 个或更多)执行此操作?

最佳答案

要使用多个属性,您可以使用匿名类型:

var query = fooList.GroupBy(x => new { x.Dept, x.Course })
.Select(x => x.First());

当然,这要看是什么类型DeptCourse是确定平等。或者,您的类可以实现 IEqualityComparer<T>然后你可以使用 Enumerable.Distinct method接受比较器。

关于c# - 从列表中删除具有重复属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com