现在的位置: 首页 > 综合 > 正文

.NET(C#):LINQ找出重复和不重复的元素

2012年06月19日 ⁄ 综合 ⁄ 共 462字 ⁄ 字号 评论关闭

不难,诀窍就是利用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

抱歉!评论已关闭.