C# 是否有更好的方法从列表中添加另一个 class 中的元素?

C# is there a better way of adding an element from a list in another class?

这是第一篇class

public class Employees
 {
    public int empID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Position { get; set; }
    public string Email { get; set; }
 }
public class list
{
    static public List<Eployees> _employees = new List<Employees>();

    public List<Employees> GetList()
    {
        return _employees;
    }

    public string fname;
    public void Add()
    {
        int result = _employees.Count(x => x.empID == x.empID);
        int id = result + 1; //auto increment for empID

         _employees.Add(new Employees
        {
            empID = id,
            FirstName = fname
        });
    }

这是第二个 class

class Class1
{
  public static main void Main(string[] args)
  {
 ManageEmployee();
}

 static void AddEmployees
{
list ll = new list();

Console.WriteLine("Enter FirstName ");
 string name = Console.ReadLine();
 ll.name = name;
 ll.Add();
 string view = Console.ReadLine();

 foreach(var Employees in list._employees)
 {
  Console.WriteLine(Employees.empID + " | " + Employees.FirstName);
 }
 string reset = Console.ReadLine();
 AddEmployees();
 }
}

我是 C# 的新手,基本上,我想知道是否有更好的方法向列表添加元素?我看到我的老师做了一些不同的事情,但我不明白她是怎么做到的,我一直在寻找一种更好的添加方式

首先,我会用单数形式命名 class holding a single employee:

public class Employee
{
    public int empID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Position { get; set; }
    public string Email { get; set; }
}

然后,您的 class 管理我命名为 EmployeesManagement 的员工,我将强制在 Add 方法中提供名字(也许提供其他属性也是有益):

public class EmplyoeesManagement
{
    private List<Employee> _employees = new List<Employee>();

    public List<Employee> GetList()
    {
        return _employees;
    }

    public void Add(string firstName)
    {
        _employees.Add(new Employee { empID = _employees.Select(e => e.empID).Max() + 1, FirstName = firstName });
    }
}

请注意,新员工的 ID 不是基于列表中的员工数量创建的(猜猜当您从列表中删除员工时会发生什么),而是基于现有的最大值。

此外,想想哪些属性需要是静态的 public。如果没有任何特殊原因,请将它们设置为非静态和私有

在你的第二个 class 中,我会使用字符串生成器来创建现有员工的完整列表,但这对你来说是一个练习。

请使用缩进,这样你的代码看起来会更整洁。