C#根据不同的字段从列表中删除条目

这个问题在这里已经有了答案:

  • LINQ对特定属性的Distinct()17的答案

  • 使propertyBs成为HashSet<string>而不是List<string> ,并使用Add的返回值做出决定:

    var propertyBs = new HashSet<string>();
    var res = models.Where(m => propertyBs.Add(m.PropertyB)).ToList();
    

    当您调用Add on hash set时,只有添加初始项返回true ; 所有重复的添加都会返回false ,所以它们的相应模型会被滤除。


    我可能的解决方案是使用Linq Group功能。 看看这个:在LINQ中分组

    链接地址: http://www.djcxy.com/p/51311.html

    上一篇: C# remove entries from list based on a distinct field

    下一篇: distinct values using LINQ