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 的值 如下圖:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章