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