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 类型
    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();

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

indexlist的值,如下:

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

list_name 的值 如下图:

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

list的值 如下图:

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

list_name_two 的值 如下图:

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


对本文感兴趣的童鞋们,欢迎点击下方收藏,如果喜欢我写的文章,记得给我点个赞鼓励一下,哈哈哈。本文将一直公开给大家使用,本文后期会不定时更新 新内容。

转载的童鞋记得注明出处↓ ↓ ↓ ↓ ↓ ↓

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

https://blog.csdn.net/VIP_CR/article/details/104186998

你可能感兴趣的:(.Net,C#)