簡體   English   中英

如何比較來自兩個不同類的兩個列表並比較特定條件,如果它的真實存儲導致第三個列表

[英]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 並使用它。

使用此鏈接使用 C# 比較兩個不同類型(參考類型)的列表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM