我试图根据日期时间升序和 pcName(string) 的 9 条记录基于主列表制作子列表。
我的排序子列表需要如下所示
对象列表 1:
2615,2019-11-22 16:03:22。150,测试1
2615,2019-11-22 16:03:22。200 ,测试1
2615,2019-11-22 16:03:22。250,测试1
2615,2019-11-22 16:03:22。300 ,测试1
对象列表 2:
2615,2019-11-22 16:03:22。350,测试2
2615,2019-11-22 16:03:22。400 ,测试2
对象列表 3:
2615,2019-11-22 16:03:22。450,测试1
2615,2019-11-22 16:03:22。500 ,测试1
对象列表 4:
2615,2019-11-22 16:03:22。550,测试3
这个对象列表需要按照 ObjectList[0] ,ObjectList[1] ,ObjectList[2] 和 ObjectList[3] 的顺序取
我在下面提到了我的示例代码
但这仅为我提供了 3 个基于Test1、Test2 和 Test3以及 9 个子列表的子列表集(Item1)过滤器,但我想要上面的 4 个子列表。我想在哪里更改代码??请帮我
private void button_Click(object sender, EventArgs e)
{
List<Identity> listOfIdentity = new List<Identity>()
{
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.550"),PcName="Test3"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.300"), PcName="Test1"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.350"), PcName="Test2"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.400"), PcName="Test2"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.200"), PcName="Test1"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.500"), PcName="Test1"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.250"), PcName="Test1"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.450"), PcName="Test1"},
new Identity() {id= 2615,QCTime=DateTime.Parse("2019-11-22 16:03:22.150"), PcName="Test1"}
};
List<Identity> sortedIdentity = listOfIdentity.OrderBy(x => x.QCTime).ThenBy(x => x.PcName).ToList(); // here i order by time and then pc name
var items1 = listOfIdentity.OrderBy(x => x.QCTime).ThenBy(x => x.PcName).GroupBy(x => x.PcName).Select(grp => grp.ToList()).ToList(); //sub list create based with **Test1, Test2 & Test3** (3 sub lists)
var items2 = listOfIdentity.OrderBy(x => x.QCTime).ThenBy(x => x.PcName).GroupBy(x => new { x.QCTime, x.PcName }).Select(grp => grp.ToList()).ToList(); //sub list create based with each time and pc name (9 sublists)
}
class Identity
{
public int id { get; set; }
public DateTime QCTime { get; set; }
public string PcName { get; set; }
}