日期:2014-05-20  浏览次数:20830 次

大师....来集合取值
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 最大的那一组