如何通过LINQ选择队列中出现最频繁的值?

本文关键字:LINQ 何通过 选择 队列 | 更新日期: 2023-09-27 18:10:50

我有一个队列。我如何选择发生最频繁的值,并通过LINQ表达式将其分配给int ?

int number = (from i in queue
             group // ?
             select i).First();

如何通过LINQ选择队列中出现最频繁的值?

int number = queue.GroupBy( x => x)
                  .OrderByDescending( g => g.Count())
                  .Select( g => g.Key)
                  .First();
        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();

我希望它能帮助你。