给定一个具有以下定义的类:
public class MyTestClass
{
public int ValueA { get; set; }
public int ValueB { get; set; }
}
如何在MyTestClass []数组中找到重复的值?
例如,
MyTestClass[] items = new MyTestClass[3];
items[0] = new MyTestClass { ValueA = 1, ValueB = 1 };
items[1] = new MyTestClass { ValueA = 0, ValueB = 1 };
items[2] = new MyTestClass { ValueA = 1, ValueB = 1 };
包含重复项,因为有两个MyTestClass对象,其中ValueA 和 ValueB都等于1
最佳答案
您可以通过按ValueA和ValueB对元素进行分组来查找重复项。
之后对它们进行计数,您将发现哪些重复项。
这是您隔离二重奏的方法:
var duplicates = items.GroupBy(i => new {i.ValueA, i.ValueB})
.Where(g => g.Count() > 1)
.Select(g => g.Key);
关于c# - 使用LINQ查找多个属性中的重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5596604/