数据显示按日期排序按日、数据

2023-09-03 06:49:51 作者:一城柳絮吹成雪

 公共类Person
{
    公共字符串名称{;组;}
    公众的DateTime创建{获得;组; }
}

公共类迈德特
{
   公开名单<人>人{获得;组; }

   公共指明MyDate()
   {
      人员=新的名单,其中,人物>();
   }
}
 

我要显示像

按日期顺序人士

日期日2015年5月28日进入了

 的foreach(VAR人Model.Persons){
    //显示person.Name
}
 

日期日2015年5月27日进入了

 的foreach(VAR人Model.Persons){
    //显示person.Name
}
 
怎么在Excel中让数据按日期排序

日期日2015年5月26日进入了

 的foreach(VAR人Model.Persons){
    //显示person.Name
}
 

解决方案

您需要按整个天Person对象,所以让我们做的:

  VAR RES = Model.Persons.OrderByDescending(P => p.Created)
   .GroupBy(p值=> p.Created.ToShortDateString());
 

要在控制台上显示:

 的foreach(在水库VAR项)
{
    //日是同在一组条目的所有项目。
    字符串groupDay = entry.First()Created.ToShortDateString()。
    Console.WriteLine(groupDay);

    //名单内的人在该组中的所有名称
    的foreach(在入门者P)
    {
        Console.WriteLine(p.Name);
    }
}
 

public class Person
{
    public string Name {get; set;}                
    public DateTime Created { get; set; }
}

public class MyData
{
   public List<Person> Persons {get; set; }

   public MyDate()
   {
      Persons = new List<Person>();
   }           
}

I want to display persons ordered by date like

date entered in day 28.05.2015

foreach(var person in Model.Persons){
    // display person.Name
}

date entered in day 27.05.2015

foreach(var person in Model.Persons){
    // display person.Name
}

date entered in day 26.05.2015

foreach(var person in Model.Persons){
    // display person.Name
}

解决方案

You need to group the Person objects by entire days, so let's do:

var res = Model.Persons.OrderByDescending(p => p.Created)
   .GroupBy(p => p.Created.ToShortDateString());

To display them on the console:

foreach(var entry in res)
{
    // Day is the same for all items in a group entry.
    string groupDay = entry.First().Created.ToShortDateString();
    Console.WriteLine(groupDay);

    // list all names of persons in that group
    foreach(Person p in entry)
    {
        Console.WriteLine(p.Name);
    }
}