[LINQ]LINQ找出重复和不重复的元素

不难,诀窍就是利用LINQ的GroupBy方法,然后依靠返回结果的IGrouping接口的Count属性来判断是否是重复元素。

代码:

//重复元素:3,4,5

//不重复元素:1,8,9

int[] arr = { 1, 3, 3, 3, 4, 5, 4, 5, 8, 9, 3 };

 

//不重复元素

var unique = arr.GroupBy(i => i)

        .Where(g => g.Count() ==1)

        .Select(g => g.ElementAt(0));

 

foreach (var i in unique)

    Console.WriteLine(i);

 

//分割线

Console.WriteLine("===");

 

//重复元素

var duplicate = arr.GroupBy(i => i)

        .Where(g => g.Count() >1)

        .Select(g => g.ElementAt(0));

 

foreach (var i in duplicate)

    Console.WriteLine(i);

 

输出:

1

8

9

===

3

4

5

作者:Mgen   出处:www.cnblogs.com/mgen   其他参考页面:我的软件和工程博客导读

posted @ 2013-04-10 13:56  derryliang  阅读(906)  评论(0)    收藏  举报