int[] input = { 5, 1, 1, 1, 3, 3, 2, 2, 2, 4, 4 }; var query = input.GroupBy(n => n).GroupBy(n => n.Count()).OrderByDescending(n => n.Key).Select(n => new { count = n.Key, nums = n.Select(o => o).Select(p => p.Key).ToArray() }); 写完了自己都不理解 query[0].count=3 query[0].nums[0]=1 query[0].nums[1]=2