[英]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.