Combination of Linq groups and linq groups
There is a List, which requires grouping by date and combining the data of the same day with the implementation of Linq.
namespace ConsoleApplication1{ class Program { static void Main(string[] args) { List<Student> students = new List<Student>() { new Student(){ ID = 1 , Name ="guwei1", BirthDay=DateTime.Now.AddHours(-11), Phone="123456781"}, new Student(){ ID = 2 , Name ="guwei2", BirthDay=DateTime.Now.AddHours(2).AddDays(2), Phone="123456782"}, new Student(){ ID = 3 , Name ="guwei3", BirthDay=DateTime.Now.AddHours(-13), Phone="123456783"}, new Student(){ ID = 4 , Name ="guwei4", BirthDay=DateTime.Now.AddHours(4).AddDays(4), Phone="123456784"}, }; var result = from p in students group p by p.BirthDay.ToString("yyyy-MM-dd") into g let q = students.Where(x => x.BirthDay.ToString("yyyy-MM-dd") == g.Key) select new { ID = q.Select(y => y.ID), Name = q.Select(y => y.Name), BirthDay = g.Key, Phone = q.Select(y => y.Phone), }; foreach (var item in result) { Console.WriteLine("ID:{0} Name:{1} BirthDay:{2} Phone:{3}", string.Join(",", item.ID), string.Join(",", item.Name), item.BirthDay, string.Join(",", item.Phone)); } } } public class Student { public int ID { get; set; } public string Name { get; set; } public DateTime BirthDay { get; set; } public string Phone { get; set; } }}
We can see that the data items are grouped by date, and the data items of other attributes are merged and displayed.