[英]how to compare two list from two different classes and compare particular conditions if its true store result in 3rd list
共有三个列表 ProjectList、EmployeeList 和 ProjectEmployeeList..
private List<Project> ProjectList { get; set; } = new List<Project>(); // List for project
private List<Employee> EmployeeList { get; set; } = new List<Employee>(); //List for employee
private List<ProjectEmployee> ProjectEmployeeList { get; set; } = new List<ProjectEmployee>();
//List for Add employee to project
我想比较 ProjectList 中必须存在诸如“ProjectID”之类的条件(已经可用)
并且 ProjectEmployeeList 中的“ProjectEmployeeId”将值与 ProjectId 匹配
如果 'ProjectId==ProjectEmployeeId' 如果为真,那么它会将 ProjectEmployeeId 添加到
项目员工名单。
同样对于 EmployeeProjectId 也意味着 'ProjectId==ProjectEmployeeId' 和
'EmployeeID==EmployeeProjectId' 这两个条件都为真,那么 ProjectEmployeeId 和
EmployeeProjectId 添加到 ProjectEmployeeList
public void AddEmployeeToProject(ProjectEmployee projectemployee) // to add employee to
project
{
ProjectBusinessLogic projectbusinessList = new ProjectBusinessLogic();//object of
projectlist
EmployeeBusinessLogic employeebusinessList = new EmployeeBusinessLogic();//object of
employee list
if(projectbusinessList.GetProjects().Any(x => x.ProjectId == projectemployee.ProjectEmployeeId))
// condition to check project id is already present or not
{
if (employeebusinessList.GetEmployees().Any(k => k.EmployeeId == projectemployee.EmployeeProjectid))
{
ProjectEmployeeList.Add(projectemployee); //both condition true then it will add the values
}
}
}
但它没有比较列表,因此没有在 ProjectEmployeeList 中添加值..我也希望它不应该重复值..意味着不应该像这样
|项目编号=1|, |员工编号=1|
||项目编号=1|, |员工编号=1|
我必须在 List 中执行此操作,不能使用 HashSet 或其他任何东西......
使用any是否正确?
GetProjects() 和 GetEmployees() 这个方法用于从各自的类调用列表,因为列表在那里是私有的......
您必须使用 IComparable 并比较 class 并使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.