我有一個用戶定義的對象列表,其中包含一個ID和一個ParentID。該列表看起來像這樣。在LINQ中查找列表中的頂級父節點
ParentID ID
123 345
123 456
456 567
456 678
678 789
我需要一個LINQ語句來查找頂級父級;也就是說,ParentID不存在的所有對象都作爲ID存在(本例中僅爲123)。
這是我到目前爲止,它正在返回567,678,789。
parentList = baseList.Where(b => !baseList.Select(o => o.ParentID).Distinct().Contains(b.ID)).ToList();
如果沒有人回答這個問題,我會在沒有移動時觸及它。你會想加入清單,而不是針對它本身。你現在擁有的是超低效率的,它會重建每次迭代的IDES枚舉。完整的語法後面,如果沒有人拿起這個評論:-) – VulgarBinary