【发布时间】:2017-01-25 01:16:46
【问题描述】:
我有一个分支列表,每个有 N 个员工,我有一个 Branch 对象和一个 NumberEmployees 属性,现在我需要遍历该列表,发送每个块的员工数量,我用以下内容更好地解释表:我按员工人数排序,到目前为止没问题。
+---------+-----------+
| Branch | Employees |
+---------+-----------+
|MEXICO | 800 |
|USA | 700 |
|INDIA | 500 |
|CHINA | 400 |
|AUSTRALIA| 300 |
+---------+-----------+
现在遍历一个列表,但将员工数量分成如下块:
+-----------+------------+-------------+------------+
| Branch | FirstGroup | SecondGroup | ThirdGroup |
+-----------+------------+-------------+------------+
| Mexico | 267 | 267 | 267 |
| USA | 234 | 234 | 234 |
| India | 167 | 167 | 167 |
| China | 134 | 134 | 134 |
| Australia | 100 | 100 | 100 |
+-----------+------------+-------------+------------+
最后我认为应该得到的列表是:
+-----------+-----------+
| Branch | Employees |
+-----------+-----------+
| Mexico | 267 |
| USA | 234 |
| India | 167 |
| China | 134 |
| Australia | 100 |
| Mexico | 267 |
| USA | 234 |
| India | 167 |
| China | 134 |
| Australia | 100 |
| Mexico | 267 |
| USA | 234 |
| India | 167 |
| China | 134 |
| Australia | 100 |
+-----------+-----------+
到目前为止,我只能订购列表。
double TotalEmployees = ListBranch.Sum(item => item.EmployeeNumber);
double blockSize = TotalEmployees / ListBranch.Count();
double sizeQuery = Math.Ceiling(blockSize);
foreach (Branch branch in ListBranch.OrderByDescending(f => f. EmployeeNumber))
{
//to do
}
感谢您为我提供的任何线索提供的宝贵帮助
【问题讨论】:
-
确定每个区块有多少行的逻辑到底是什么?
标签: c# generic-list programmatically reorderlist