C#--List--获取List中某个属性的所有值 并 去重复(方法一 lambda+ Distinct(),,方法二 lambda)

获取数据库查询的 实体类的列表中 ,某列的值(FACTORY_NAME),并且要去重复


推荐使用 方法一(速度快),详细推荐原因,请参考 C# List 根据对象属性去重的四种方法对比


    List<Model.index_data> indexlist = new List<Model.index_data>();
    //indexlist=数据库查询出来的列表;    //这里就不进行详细介绍了,省略数据库查询的代码

    //方法一:
    //.Select(t => t.FACTORY_NAME)-- 查询列表里所有的FACTORY_NAME属性
    //.Distinct()--值类型List去重
    //.ToList()--转换为 List<string> 类型
    List<string> list_name = indexlist.Select(t => t.FACTORY_NAME).Distinct().ToList();

    //方法二:
    //.Select(t => t.FACTORY_NAME)-- 查询列表里所有的FACTORY_NAME属性
    //.GroupBy(c => c).Select(c => c.First())-- 去重,获取分组的第一条
    List<string> list_name_two = indexlist.Select(t => t.FACTORY_NAME).GroupBy(c => c).Select(c => c.First()).ToList();

    //这句可以去掉,只是为了显示效果  indexlist.Select(t => t.FACTORY_NAME);
     List<string> list = indexlist.Select(t => t.FACTORY_NAME).ToList();

在这里插入图片描述

indexlist的值,如下:

在这里插入图片描述

list_name 的值 如下图:

在这里插入图片描述

list的值 如下图:

在这里插入图片描述

list_name_two 的值 如下图:

在这里插入图片描述

发布了36 篇原创文章 · 获赞 10 · 访问量 2841

猜你喜欢

转载自blog.csdn.net/VIP_CR/article/details/104186998