c# - 跟踪分配的对象分配

标签 c#

我正在从事的一个项目要求我解决以下模拟程序问题:

程序从 sql 中提取 2 个单独的不同列表。作为示例,我将使用“员工”和“任务”。然后,我们以编程方式为每个“任务”分配 0-2 个“员工”。每个员工可以分配到不止一项任务,但有些任务可能需要多名员工,有些任务可能未分配。

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

我不需要管理超过 10-15 个最大大小的列表,但需要一个足够高效的解决方案,可以批量运行数千个 sims,而分配解决方案不会妨碍。

我有相当大的灵 active ,因为此时对象只是直接来自 sql 的列表项。

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

最佳答案

这可以使用泛型轻松完成。

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

关于c# - 跟踪分配的对象分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271885/

相关文章:

c# - 两个组合框上的空第一个值相互更新

c# - Azure 搜索通配符和破折号字符

c# - 如何以编程方式从 Excel 单元格拖放到启用拖动的任务 Pane ?

c# - 检查扩展对象是否在 xslt 模板中定义

c# - 反转颠倒位图数据的最佳方法

c# - NEST不推荐使用的字段[include]

c# - 在 Windows Azure 上使用 C# 在电子邮件中发送附件

c# - ConfigureAwait 将继续推送到池线程

c# - 找出值类似于列表中的任何值

c# - 在关闭主窗体之前关闭侧线程