以下のケースでは、従業員が何回繰り返しているかをカウントしたいと考えています。たとえば、リストに EmpA が 25 回ある場合は取得したいと思います。GroupBy を試していますが、結果が得られません。レコードをスキップしてカウントを見つけることはできますが、レコードがたくさんあります。
したがって、以下の例では、lineEmpNrs がリストであり、結果を従業員 ID でグループ化したいと考えています。
提案してください。
public static string ReadLines(StreamReader input)
{
string line;
while ( (line = input.ReadLine()) != null)
yield return line;
}
private taMibMsftEmpDetails BuildLine(string EmpId, string EmpName, String ExpnsDate)
{
taMibMsftEmpDetails empSlNr = new taMibMsftEmpDetails();
empSlNr.EmployeeId = EmpId;
empSlNr.EmployeeName = EmpName;
empSlNr.ExpenseDate = ExpnsDate;
return empSlNr;
}
List<taMibMsftEmpDetails> lineEmpNrs = new List<taMibMsftEmpDetails>();
foreach (string line in ReadLines(HeaderFile))
{
headerFields = line.Split(',');
lineEmpNrs.Add(BuildLine(headerFields[1],headerFields[2],headerFields[3]));
}