我刚开始学习linq和lambda表达式,它们似乎非常适合在复杂对象集合中查找重复项,但我有些困惑,希望有人能够帮助我重新回到愉快编程的道路。
我的对象结构类似于list.list.uniqueCustomerIdentifier
我需要确保整个复杂对象中没有重复的uniqueCustomerIdentifier。如果有重复项,我需要确定哪些是重复的,并返回重复项的列表。
我刚开始学习linq和lambda表达式,它们似乎非常适合在复杂对象集合中查找重复项,但我有些困惑,希望有人能够帮助我重新回到愉快编程的道路。
我的对象结构类似于list.list.uniqueCustomerIdentifier
我需要确保整个复杂对象中没有重复的uniqueCustomerIdentifier。如果有重复项,我需要确定哪些是重复的,并返回重复项的列表。
var result =
myList
.SelectMany(x => x.InnerList)
.Select(y => y.uniqueCustomerIdentifier)
.GroupBy(id => id)
.Where(g => g.Skip(1).Any())
.Select(g => g.Key)
.ToList()
var results = from item in list
group item by item.id into g
select g.First();
SelectMany
方法将 IEnumerable<IEnumerable<T>>
展平为 IEnumerable<T>
。