2010-09-08 166 views
0

我最近開始學習LINQ。爲了更好地理解這項技術,我嘗試使用LINQ重寫我之前的一些程序。我的意思是我嘗試用linq查詢替換foreach方法等。Linq比較兩個列表 - 學習LINQ

今天我遇到了一個問題。 我有對象元素的列表

List<Element> elementList 
public class Element 
    { 
     private string Id; 
     private List<Element> consequentElementsList; 


    } 

元素列表包含被放置在表格的所有元素。每個元素都有一個連續元素列表。 我需要找到我選擇的元素的所有前置元素。 有什麼辦法可以在LINQ中做到這一點?

回答

0

嘗試了這一點:

var element = // a single element 
var query = from e in elementList 
      where e.consequentElementsList.Any(ce => ce.Id == element.Id) 
      select e; 

它從那裏隨之而來的元素列表中包含匹配您所選擇的ID的任何元素的元素列表檢索每個元素。

當然,我忽略了IdconsequentElementsList在您的示例中是私有的事實。