1. 程式人生 > >linq 多列分組取某列最大值

linq 多列分組取某列最大值

     string[] Names = new string[] { "張三1", "張三2", "張三3", "張三4", };
            List<User> Users = new List<User>();
            Random rd = new Random();
            for (int i = 0; i < Names.Count(); i++)
            {
               
                for (int k = 0; k < 5; k++)
                {
                    User user = new User();
                    user.Name = Names[i];
                    user.Score = rd.Next(1, 10);
                    Users.Add(user);
                }


            }


            List<User> re = (from t in Users
                             group t by new
                             {
                                 Name = t.Name,
                             } into g
                             select new User
                             {
                                 Name = g.Key.Name,
                                 Score = g.Max(v => v.Score),
                             }).ToList<User>();




 public class User
    {
        public string Name { get; set; }
        public int Score { get; set; }
    }