我正在研究的项目要求我为模拟程序解决以下问题:
该程序从sql 2中分离出不同的列表。作为一个例子,我将使用“员工”和“任务”。然后,我们以编程方式为每个“任务”分配0-2“员工”。每个员工都可以分配到多个任务,但有些任务可能需要多个员工,而某些任务可能会被取消分配。
这一切都发生在C#级别,并且不会存储回sql,在分配后程序通过解析单个赋值的结果解析模拟,存储结果并运行下一组列表。
我不需要管理超过10-15最大值的列表,但是需要一个足够高效的解决方案,以便批量运行数千个sim,而不会影响分配解决方案。
我有很大的灵活性,因为在这一点上,对象只是直接来自sql的列表项。
(我不是专业的程序员,所以这可能是显而易见的,或者是不可能的)
答案 0 :(得分:1)
使用泛型可以轻松完成。
public class Employee
{
public string EmployeeName;
public string EmployeeID;
}
public class Task
{
public string TaskName;
public List<Employee> EmployeeList = new List<Employee>();
}
public void TestTaskList()
{
// list of tasks.
List<Task> m_TaskList = new List<Task>();
// create a new task.
Task oFirstTask = new Task { TaskName = "First Task" };
// add this task to your list
m_TaskList.Add(oFirstTask);
// loop through your tasks.
foreach( Task oTask in m_TaskList) {
if (oTask.EmployeeList.Count() == 0)
// there are no employees, so add one
oTask.EmployeeList.Add(
new Employee { EmployeeName = "mschietinger" }
);
}
}