【发布时间】:2020-04-27 22:19:39
【问题描述】:
我无法解决这个问题,我基本上需要某种列表/数组来存储 ID、名称和未来 30 天内的多个会议。
所以我有一个包含员工 ID、姓名和预定会议的 txt 文件,文件摘录如下所示:
170378154979885419149243073079764064027;Colin Gomez
170378154979885419149243073079764064027;5/17/2020 10:30:00 AM;5/17/2020 11:00:00 AM;
170378154979885419149243073079764064027;5/18/2020 7:30:00 AM;5/18/2020 10:00:00 AM;
139016136604805407078985976850150049467;Minnie Callahan
139016136604805407078985976850150049467;5/19/2014 10:30:00 AM;5/19/2020 1:00:00 PM;
所以第一行包含一个employeeId 和该员工的姓名。 第二行包含特定会议的employeeId、时间和日期。
在程序中,我需要以某种形式的时间表存储这些信息。我遇到的问题是,一名员工可以预订多个会议,而我无法存储所有这些会议。 有 30 分钟的时段,这意味着您只能预订从 ??.00 或 ??.30 开始的会议,因此每天应该只有 48 个时段可用。 如果员工在一个或多个时隙上预定了会议,则应将这些时隙标记为不可用,一个简单的 int 表示,如果已预订则显示 1,如果未预订则显示 0。
目标是日程表应显示员工提前一个月有空参加会议的时间。
var textFile = "C:\\textFile.txt";
var allLinesIntextFile = File.ReadAllLines(textFile );
List<Employee> employees = new List<Employee>();
foreach (var line in allLinesIntextFile)
{
if(line.Length < 60 && line.Length > 1)
{
int index = line.IndexOf(';');
if(line.Substring(index).Length > 1)
{
var employeeId = line.Substring(0, index);
var employeeName = line.Substring(index);
employees.Add(new Employee() { EmployeeId = employeeId, EmployeeName = employeeName });
}
}
}
public class Employee
{
public string EmployeeId { get; set; }
public string EmployeeName { get; set; }
}
到目前为止,我将 EmployeeId 和 EmployeeName 存储在一个列表中,这就是我能够达到的程度。
对不起,我的英语不好,希望你能理解我的问题! :(
【问题讨论】:
-
为什么不使用 Json 格式而不是 CSV?如果 CSV 是强制性的,那么属性的另一个分隔符是一个选项吗?可选列是一个选项吗?为什么不是每人一份 CSV?