如何简单方便快捷实现DistinctBy 返回

C#论坛 处理完成
7 1027

var list = new[]{

    new(){id=1,name="A"},

    new(){id=2,name="A"},

    };

比如这个简单示例,list.distinct()无法去重,但是ef可以使用list.distinctby(x=>x.name)根据字段去重。

热忱回答7

  • 写完整代码

    0 回复
  • 我不清楚你怎么写的

    0 回复
  • public class Test
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    List<Test> list = new List<Test>(){
        new Test(){Id=1,Name="A"},
        new Test(){Id=2,Name="A"},
    };

    Distinct是所有字段去重,ef的DistinctBy可以根据字段去重。image.png

    @fate sta

    0 回复
  • 你Id一个1一个2你怎么去重

    0 回复
  • 当然返回2个结果

    0 回复
  •  var newlist=  list.GroupBy(it=>it.Name).Select(it=>it.First()).ToList();

    这样根据Name去重

    0 回复
  • @fate sta:好的,谢谢大佬。学习了,groupby+select

    0 回复