我有一个队列。如何选择最常出现的值并通过LINQ表达式将其分配给int?
int number = (from i in queue
group // ?
select i).First();
答案 0 :(得分:12)
int number = queue.GroupBy( x => x)
.OrderByDescending( g => g.Count())
.Select( g => g.Key)
.First();
答案 1 :(得分:4)
Queue<int> queue = new Queue<int>();
queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
queue.Enqueue(4);
queue.Enqueue(5);
queue.Enqueue(2);
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(4);
int number =(from c in queue
group c by c into g
orderby g.Count() descending
select g.Key).FirstOrDefault();
我希望它可以帮到你。