브랜치 목록이 있습니다. 각 브랜치에는 N 명의 직원이 있고, 분기 개체와 NumberEmployees 속성이 있습니다. 이제이 목록을 반복하여 블록 당 직원 수를 보내야합니다. , 나는 다음 표와 함께 더 잘 설명한다 : 나는 직원 수에 의한 목록을 주문한다.목록을 C# 블록으로 나눕니다.
+---------+-----------+
| 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
}
난 당신이가 트릭을 할 수있는 나에게
각 블록에 몇 개가 들어가는 지 결정하는 논리가 정확히 무엇입니까? – BradleyDotNET