使用条件过滤掉不同的元素我有一个对象列表,其中包含某些属性的重复项。我想根据条件获取所有非重复项和1个重复项。例如。List:Code:1,Level:10Code:1,Level:20Code:2,Level:1ExpectedList:Code:1,Level:20Code:2,Level:1条件是重复元素的条件,catcheswith最高等级的元素。如何编写lambda或linq表达式来执行此操作?您可以使用GroupBy执行此操作:varresults=items.GroupBy(item=>item.Code).Select(g=>g.OrderByDescending(i=>i.Grade).First());我建议你先放GroupBy的Code属性,然后选择group中每个元素的Max。就像上面的C#学习教程:使用条件筛选出所有不同元素共享的内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——list.GroupBy(item=>item.Code).Select(item=>new{code=item.Key,grade=item.Max(i=>i.Grade)}).ToList();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
