问题描述
在.NET/C#应用程序开发过程中,当前有类似如下的数据集合,如:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
现在需要使用LING
将这个集合中的元素进行去重处理,并返回惟一的元素集合,如:
Red
Brown
Yellow
Green
Orange
现在如下的LINQ
查询语句:
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
以上LINQ
查询出来的是所有的颜色集合,包含重复的元素集合。
那么,要查询惟一元素的集合,使用LINQ
查询语句应该如果实现呢?
方案一
使用LINQ
的Distinct()
方法,如下:
var uniqueColors =
(from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name).Distinct().OrderBy(name=>name);
方案二
使用LINQ
查询语法完成的排序,如下:
var uniqueColors = (from dbo in database.MainTable
where dbo.Property
orderby dbo.Color.Name ascending
select dbo.Color.Name).Distinct();
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册