我有一個列表,其中包含重複的項目值(按ID),但具有不同(或可能相等)的優先級。應從列表中刪除具有相同或較低優先級的重複項目。不同Linq過濾與額外條件
例如:
var items = new {
new { Id=2, Priority=3 },
new { Id=4, Priority=4 },
new { Id=1, Priority=4 },
new { Id=2, Priority=5 },
new { Id=4, Priority=4 }
};
RemoveDuplicates(items);
// items should now contain distinct values,
// with highest possible priority
var items = new {
new { Id=1, Priority=4 }, // this one was unique
new { Id=2, Priority=5 }, // this one was duplicate with higher priority
new { Id=4, Priority=4 }, // this one was duplicate with same priority
};
是否有可能做到這一點使用LINQ?我知道我可以通過ID對列表進行分類,然後檢查相鄰的項目,但只是想檢查這是否可能。
(更新:輸入值不一定通過ID的分組)