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>();
}
}
我想显示按日期排序的人员,如
日期于2015年5月28日输入
foreach(var person in Model.Persons){
// display person.Name
}
日期于2015年5月27日输入
foreach(var person in Model.Persons){
// display person.Name
}
日期在2015年5月26日输入
foreach(var person in Model.Persons){
// display person.Name
}
答案 0 :(得分:2)
您需要整天对Person对象进行分组,所以让我们来做:
var res = Model.Persons.OrderByDescending(p => p.Created)
.GroupBy(p => p.Created.ToShortDateString());
要在控制台上显示它们:
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);
}
}
答案 1 :(得分:2)
我相信你会想要使用groupBy,所以你可以按日期得到结果:
var query = Persons.OrderByDescending(c => c.Created).GroupBy(n=> n.Created.ToShortDateString());
foreach (var d in query)
{
Console.WriteLine(d.Key);
foreach (var names in d)
Console.WriteLine(names.name);
}
答案 2 :(得分:-1)
loadSingleIns