using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<Person> persons = new List<Person>();
persons.Add(new Person { Age = 1, Score = 20 });
persons.Add(new Person { Age = 2, Score = 20 });
persons.Add(new Person { Age = 3, Score = 20 });
persons.Add(new Person { Age = 4, Score = 30 });
persons.Add(new Person { Age = 5, Score = 40 });
persons.Add(new Person { Age = 6, Score = 50 });
persons.Add(new Person { Age = 7, Score = 60 });
persons.Add(new Person { Age = 8, Score = 60 });
persons.Add(new Person { Age = 9, Score = 60 });
persons.Add(new Person { Age = 10, Score = 70 });
persons.Add(new Person { Age = 11, Score = 70 });
persons.Add(new Person { Age = 12, Score = 80 });
var test = persons.GroupBy(a => a.Score)
.OrderByDescending(a => a.Key)
.SelectMany(a => a.OrderBy(b => Guid.NewGuid()))
.ToList();
Console.Read();
}
}
public class Person
{
public int Age { get; set; }
public int Score { get; set; }
}
}