我有問題以模塊化的方式總結項目。更好的方法來總結
我有這個類:根據這個數字
public enum ReportType
{
Worker,
Management,
Guest
}
public class Report
{
public ReportType Type { get; set; }
public int Lost { get; set; }
public Report(ReportType typ, int los)
{
Type = typ;
Lost = los;
}
}
而得到的Report
清單,並應找出與最大的損失返回Report
列表的方法,再加上一些計算。 我開始的方法:
public class ReportsManager
{
public static List<Report> CalculateBiggerLost(List<Report> reportList)
{
int WorkerSum = 0;
int ManagementSum = 0;
int GuestSum = 0;
foreach (Report report in reportList)
{
switch (report.Type)
{
case ReportType.Guest:
{
GuestSum += report.Lost;
break;
}
case ReportType.Management:
{
ManagementSum += report.Lost;
break;
}
case ReportType.Worker:
{
WorkerSum += report.Lost;
break;
}
}
}
if (GuestSum >= ManagementSum && GuestSum >= WorkerSum)
{
// Doing some report
}
else if (WorkerSum >= ManagementSum)
{
// inner Check
}
}
}
,但它不是在好的情況下,我會可能在ReportType
枚舉另一個值,然後將不得不重寫代碼,再加上它不是那麼可讀。我是新來的linq,但我開始嘗試和使用LINQ GroupBy
但卡住了,當我得到和回答reportList.GroupBy(x => x.Type);
,並不知道該怎麼辦,如在什麼結構?我如何迭代它?
+1 ..當時即將寫入相同。 –
+1。我的方式更好。 – Ehsan