首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有针对员工的多维列表的C#

具有针对员工的多维列表的C#
EN

Stack Overflow用户
提问于 2015-05-08 15:15:17
回答 2查看 247关注 0票数 0

我希望建立一个雇员列表,以插入多个项目的数据。例如,我希望为一名员工提供ID、姓名、技术技能列表和个人技能列表。并非所有员工都拥有相同数量的技术技能或个人技能,但有能力拥有这两种技能的倍数

因此,举个例子:

代码语言:javascript
复制
employeeID, employeeName, techSkill1, techSkill2, persSkill1

employeeID, employeeName, techSkill1, persSkill1, persSkill2

employeeID, employeeName, techSkill1, techSkill2, techSkill3, persSkill1

这有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2015-05-08 15:17:17

使用类:

代码语言:javascript
复制
public class Employee
{
    /// <summary>
    /// employee's ID
    /// </summary>
    public int ID { get; set; }

    /// <summary>
    /// employuee's name
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// list of personal skills
    /// </summary>
    public List<string> PersSkills { get; private set; }

    /// <summary>
    /// list of tecnical skills
    /// </summary>
    public List<string> TechSkills { get; private set; }

    /// <summary>
    /// конструктор
    /// </summary>
    public Employee()
    {
        this.PersSkills = new List<string>();
        this.TechSkills = new List<string>();
    }

    /// <summary>
    /// конструктор
    /// </summary>
    public Employee(int id, string name, string[] persSkills, string[] techSkills)
    {
        this.ID = id;
        this.Name = name;
        this.PersSkills = new List<string>(persSkills);
        this.TechSkills = new List<string>(techSkills);
    }
}

用法:

代码语言:javascript
复制
List<Employee> employees = new List<Employee>();

employees.Add(new Employee(1, "Ivan", new string[] { "good friend" }, new string[] { "engineer" }));
employees.Add(new Employee(2, "Boris", new string[] { "personnel management", "tolerance" }, new string[] { "engineer", "programmer" }));
票数 4
EN

Stack Overflow用户

发布于 2015-05-08 15:30:17

是的,这是可能的,你可以这样做:

代码语言:javascript
复制
public List<Member> members = new List<Member>();

public Form1()
{
    InitializeComponent();

    Member me = new Member();
    me.ID = 3;
    me.Name = "Maarten";

    PersSkill skill1 = new PersSkill();
    skill1.Name = "Super Awsome Skill!";
    skill1.MoreInfo = "All the info you need";

    PersSkill skill2 = new PersSkill();
    skill1.Name = "name!";
    skill1.MoreInfo = "info";

    List<PersSkill> list = new List<PersSkill>();
    list.Add(skill1);
    list.Add(skill2);

    me.PersSkills = list;

}

public struct Member
{
    public int ID { get; set; }
    public string Name { get; set; }
    public List<TechSkill> PersSkills { get; set; }
    public List<TechSkill> TechSkills { get; set; }
}

public struct PersSkill
{
    public string Name { get; set; }
    public string MoreInfo { get; set; }
}

public struct TechSkill
{
    public string Name { get; set; }
    public string MoreInfo { get; set; }
}

附注:使用@General-Doomer的解决方案,这是一个更好的解决方案,但我会在这里留下我的答案,也许你可以用它做点什么/从中学习

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30117951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档