簡體   English   中英

過濾列表和聯合(或Concat)中的重復項

[英]Filter duplicates in the Lists and Union(or Concat)

   var testfilter = ( from p in test1  where !(from Q in test2 select new {Q.Website,Q.SSN,Q.Class})
                       Contains(new {p.Website,P.SSN,P.Class}) Select P).ToList();

    List<testResults> ResultList = (from R in testfilter  
                                    select new testResults  
                                    {  
                                       Website = R.Website,
                                        SSN = R.SSN,
                                        class = R.class, List1 = 'Yes'  
                                    }.ToList()  
                                   .Union (from Q in test2 
                                    select new testResults    
                                    {   
                                      Website = Q.Website,
                                      SSN = Q.SSN,class = Q.class, Status = Q.Status,
                                      List2 = 'Yes'   
                                   }.ToList(); 

我必須檢查以下列表中的以下條件

1)很少有記錄僅存在於test1列表中

2)很少的記錄僅存在於test2列表中

3)兩個列表中都沒有記錄,如果兩個列表中都存在,則將其過濾並顯示為一個記錄。

上面的查詢適用於少於50k的記錄,但是我有超過200k的記錄要顯示在網格中。 如何使用Except或其他方法改善查詢?

您可以嘗試使用類似的不確定性,例如不確定是否這是解決問題的最佳方法

 List<testResults> distinctResultList = ResultList.Distinct().ToList();

暫無
暫無

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

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