[LINQ].NET/C#应用程序开发中如何使用LINQ去重集合中的元素?

C#开发 作者: Rector 130阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

在.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查询语句应该如果实现呢?

方案一

使用LINQDistinct()方法,如下:

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

阅读了该文章的人还浏览了...

本文永久链接码友网 » [LINQ].NET/C#应用程序开发中如何使用LINQ去重集合中的元素?

发布于: 2018-04-19 12:57:13
分享扩散:

文章评论

获取验证码