跟踪指定的对象分配

时间:2010-07-17 14:30:38

标签: c#

我正在研究的项目要求我为模拟程序解决以下问题:

该程序从sql 2中分离出不同的列表。作为一个例子,我将使用“员工”和“任务”。然后,我们以编程方式为每个“任务”分配0-2“员工”。每个员工都可以分配到多个任务,但有些任务可能需要多个员工,而某些任务可能会被取消分配。

这一切都发生在C#级别,并且不会存储回sql,在分配后程序通过解析单个赋值的结果解析模拟,存储结果并运行下一组列表。

我不需要管理超过10-15最大值的列表,但是需要一个足够高效的解决方案,以便批量运行数千个sim,而不会影响分配解决方案。

我有很大的灵活性,因为在这一点上,对象只是直接来自sql的列表项。

(我不是专业的程序员,所以这可能是显而易见的,或者是不可能的)

1 个答案:

答案 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" }
                    );
        }
    }