List集合,如何取出集合中,指定条件的相同的元素:
集合中,有两两相同的、有三三相同的、有四四相同的、有五五相同的(意思就是有5个元素相同吧).....
如何取出一个集合中最大的那个相同的元素:意思就是,比如上面那个例子,只取出五五相同的元素,而两两相同、三三相同、四四相同,以及没有相同的,都放弃.
现在并不知道集合中最大的那个“相同”,是几几相同,只知道是一个变量i
请问,如何取出
------解决方案--------------------
- C# code
void Main() { var list=new int[]{}; for(int i=1;i<=9;i++) { list=list.Concat(Enumerable.Repeat(i,i)).ToArray(); } int m=5; var query=from l in list group l by l into g where g.Count()==5 select g.Key; query.ToList().ForEach(q=>Console.WriteLine("{0} 共出现了{1}次",q,m)); //5 共出现了5次 }
------解决方案--------------------
group by ,取 count 最大的那一组