需要C#中的帮助以删除列表中的obj

需要C#中的帮助以删除列表中的obj,c#,C#,我有一个员工管理系统,我正试图在c#console应用程序中构建它,而我可以添加一个新员工 但我不确定如何从名单中删除员工 我必须把这两种方法结合起来,然后它才能工作 似乎我无法从removeEmployee方法调用obj(emp) 主类 using System; namespace HRM { class Program { static void Main(string[] args) { manageEmp e

我有一个员工管理系统,我正试图在c#console应用程序中构建它,而我可以添加一个新员工

但我不确定如何从名单中删除员工

我必须把这两种方法结合起来,然后它才能工作

似乎我无法从removeEmployee方法调用obj(emp)

主类

using System;

namespace HRM
{
    class Program
    {
        static void Main(string[] args)
        {

             manageEmp emp = new manageEmp();

             emp.addEmployee();
             emp.removeEmployee();
        }
    }
}
雇员阶级

using System;
using System.Collections.Generic;

namespace HRM
{
    public class Employee
    {
        private String empID;
        private String empFirstName;
        private String empLastName;
        private String empDep;
        private String empDOB;
        private String empAddress;
        private int PostalCode;
        private double empSal;


        public Employee()
        {

        }

        public Employee(String aempID, string aempFirstName, string aempLasttName, string aempDep, String aEmpDOB, string aempAddress, int aPostalCode, double aempSal)
        {
            this.EmpID = aempID;
            this.EmpFirstName = aempFirstName;
            this.EmpLastName = aempLasttName;
            this.EmpDep = aempDep;
            this.EmpDOB = aEmpDOB;
            this.EmpAddress = aempAddress;
            this.PostalCode1 = aPostalCode;
            this.EmpSal = aempSal;
        }

        public string EmpID { get => empID; set => empID = value; }
        public string EmpFirstName { get => empFirstName; set => empFirstName = value; }
        public string EmpLastName { get => empLastName; set => empLastName = value; }
        public string EmpDep { get => empDep; set => empDep = value; }
        public string EmpDOB { get => empDOB; set => empDOB = value; }
        public string EmpAddress { get => empAddress; set => empAddress = value; }
        public int PostalCode1 { get => PostalCode; set => PostalCode = value; }
        public double EmpSal { get => empSal; set => empSal = value; }
        public List<Employee> El { get => el; set => el = value; }

        public override string ToString()
        {
            return "Employment ID : " + empID + "\n"
                  + "FirstName : " + EmpFirstName + "\n"
                  + "LastName : " + EmpLastName + "\n"
                  + "Department : " + EmpDep + "\n"
                  + "Date of Birth: " + EmpDOB + "\n"
                  + "Address : " + EmpAddress + "\n"
                  + "PostalCode : " + PostalCode1 + "\n"
                  + "empSal : " + EmpSal + "\n";
        }
    }
}
使用系统;
使用System.Collections.Generic;
名称空间人力资源管理
{
公营雇员
{
私有字符串empID;
私有字符串名称;
私有字符串empLastName;
私有字符串empDep;
私有字符串empDOB;
私有字符串地址;
私人邮政编码;
私人双皇帝;
公职人员()
{
}
公共雇员(字符串aempID、字符串aempFirstName、字符串AEMPLASTNAME、字符串aempDep、字符串AEMPDB、字符串AEMPADRESS、int-aPostalCode、双aempSal)
{
this.EmpID=aempID;
this.empffirstname=aempFirstName;
this.EmpLastName=AEMPlastName;
this.EmpDep=aempDep;
this.EmpDOB=aempdb;
this.EmpAddress=aempAddress;
this.PostalCode1=aPostalCode;
this.EmpSal=aempSal;
}
公共字符串EmpID{get=>EmpID;set=>EmpID=value;}
公共字符串EmpFirstName{get=>EmpFirstName;set=>EmpFirstName=value;}
公共字符串EmpLastName{get=>EmpLastName;set=>EmpLastName=value;}
公共字符串EmpDep{get=>EmpDep;set=>EmpDep=value;}
公共字符串EmpDOB{get=>EmpDOB;set=>EmpDOB=value;}
公共字符串EmpAddress{get=>EmpAddress;set=>EmpAddress=value;}
public int PostalCode1{get=>PostalCode;set=>PostalCode=value;}
公共双EmpSal{get=>EmpSal;set=>EmpSal=value;}
公共列表El{get=>El;set=>El=value;}
公共重写字符串ToString()
{
return“Employment ID:+empID+”\n
+FirstName:“+EmpFirstName+”\n
+LastName:“+EmpLastName+”\n
+部门:“+EmpDep+”\n
+出生日期:“+EmpDOB+”\n
+地址:“+EmpAddress+”\n
+PostalCode:“+PostalCode1+”\n
+“皇帝:“+皇帝+”\n”;
}
}
}
管理类

using System;
using System.Collections.Generic;

namespace HRM
{
    public class manageEmp
    {
        private List<Employee> el = new List<Employee>();
        public List<Employee> El { get => el; set => el = value; }

        public void addEmployee()
        {

            Console.WriteLine("===================================" + "\n");
            Console.WriteLine("Add an Employee");
            Console.WriteLine("===================================" + "\n");
            Console.WriteLine("");

            Console.WriteLine("Please enter your Employment ID");
            String eID = Console.ReadLine();

            Console.WriteLine("Please enter your First Name");
            String eFirstName = Console.ReadLine();

            Console.WriteLine("Please enter your Last Name");
            String eLasttName = Console.ReadLine();

            Console.WriteLine("Please entter your department");
            String eDep = Console.ReadLine();

            Console.WriteLine("Please enter your Date of Birth");
            String eDOB = Console.ReadLine();

            Console.WriteLine("Please entter your Address");
            String eAddress = Console.ReadLine();

            Console.WriteLine("Please enter your Postal Code");
            int ePostalCode = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Please enter your Salary");
            double eSal = Convert.ToDouble(Console.ReadLine());

            Employee emp = new Employee(eID, eFirstName, eLasttName, eDep, eDOB, eAddress, ePostalCode, eSal);

            emp.El.Add(emp);

        }

        public void viewEmployee()
        {
            Employee nemp = new Employee();

            nemp.El.ForEach(Console.WriteLine);


        }

        public void removeEmployee()
        {
            Console.WriteLine("Please enter a employee Id to be deleted");


            String delemp = Console.ReadLine();
            for (int i = 0; i < El.Count; i++)
            {
                emp = El[i];
                if (delemp.Equals(eID))
                {
                    el.Remove(emp);

                }
                Console.WriteLine(delemp + " Has been deleted sucessfully");
                el.ForEach(Console.WriteLine);
            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
名称空间人力资源管理
{
公共类管理器
{
私有列表el=新列表();
公共列表El{get=>El;set=>El=value;}
公共无效添加员工()
{
Console.WriteLine(“==============================================”+“\n”);
Console.WriteLine(“添加员工”);
Console.WriteLine(“==============================================”+“\n”);
控制台。写线(“”);
Console.WriteLine(“请输入您的就业ID”);
字符串eID=Console.ReadLine();
Console.WriteLine(“请输入您的名字”);
字符串eFirstName=Console.ReadLine();
Console.WriteLine(“请输入您的姓氏”);
字符串eLasttName=Console.ReadLine();
Console.WriteLine(“请进入您的部门”);
字符串eDep=Console.ReadLine();
Console.WriteLine(“请输入您的出生日期”);
字符串eDOB=Console.ReadLine();
Console.WriteLine(“请输入您的地址”);
字符串eAddress=Console.ReadLine();
Console.WriteLine(“请输入您的邮政编码”);
int-ePostalCode=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“请输入您的工资”);
double-eSal=Convert.ToDouble(Console.ReadLine());
员工emp=新员工(eID、eFirstName、ElastName、eDep、eDOB、eAddress、ePostalCode、eSal);
emp.El.Add(emp);
}
public void viewEmployee()
{
员工nemp=新员工();
nemp.El.ForEach(控制台写入线);
}
公共无效删除员工()
{
Console.WriteLine(“请输入要删除的员工Id”);
String delemp=Console.ReadLine();
对于(int i=0;i
您的问题是,您的员工列表位于employee类中,因此每个员工都有自己的员工列表,而该列表只包含一名员工。

在函数
RemoveEmployee
中,您正在创建一个新的
ManageMP
对象。正如“新建”一词所暗示的,这是一个不同的新创建的
manageEmp
,它有自己的新创建的
列表
,其中不包含任何项目


此外,您已将函数声明为
public void removeEmployee(string eID)
,因此不能使用
emp.removeEmployee()
行调用它

修复代码结构。哦,看。因此,我可以将列表移动到manageEmp类中。因此,所有employe都将添加到该列表中。是的,这是一个更好的位置。您好,我已将该列表转移到ManageMP类,但当尝试从addEmployee方法调用emp obj时。似乎它仍然无法调用。请更新您的问题以显示代码的外观。首先实现viewEmployee可能更容易,一旦您知道如何列出员工,那么删除应该更明显。无论如何,你只需要有一个ManageMpoh ic。我刚刚更新了co