nt maxcount = Model
.SelectMany(h => h.DetailList).OrderBy(h => h.DetailType)
.GroupBy(h => h.DetailType).Select(h => h.Count()).Max();
int Fitsetcount = Model.SelectMany(h => h.DetailList).OrderBy(h => h.DetailType)
.GroupBy(h => h.DetailType).FirstOrDefault().Count();
List<List<Model>> QuantumList= Model
.SelectMany(h => h.DetailList).OrderBy(h => h.DetailType)
.GroupBy(h => h.DetailType).Skip(1)
.Aggregate(Model.SelectMany(h => h.DetailList).OrderBy(h => h.DetailType)
.GroupBy(h => h.DetailType).FirstOrDefault().OrderBy(h=>h.FSeq)
.Select(h => new List<Model>() { h }).Union(System.Linq.Enumerable.Repeat(new List<Model>() { new Model() }, Math.Abs(maxcount - Fitsetcount)).ToList()),
(t, s) =>
t.Zip(s.OrderBy(h => h.FSeq).Select(h => new List<Model>() { h }).Union(System.Linq.Enumerable.Repeat(new List<Model>(){new Model()}, Math.Abs(maxcount - s.Count())).ToList()), (n, m) => n.Concat(m).ToList())
).ToList();
linq实现行转列
最新推荐文章于 2024-08-15 22:03:42 发布