获取数据库查询的 实体类的列表中 ,某列的值(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();
本文探讨了两种在C#中从数据库查询结果列表中获取不重复`FACTORY_NAME`值的方法。方法一是使用`.Select()`选择属性,然后通过`.Distinct()`去除重复项,再转换为`List<string>`。方法二是通过`.GroupBy()`进行分组并取每个组的第一个元素来去重。这两种方法在处理列表去重时各有优劣,适用于不同的场景。

1万+

被折叠的 条评论
为什么被折叠?



