【发布时间】:2011-10-11 20:33:04
【问题描述】:
我有一个对象列表,每个对象都有 2 个相关属性:“ID”和“Name”。让我们将列表称为“lstOutcomes”。
如果至少有一个重复项,我需要检查列表中的重复项(意思是 object1.ID = object2.ID 等)并设置一个标志(valid = false 或其他内容)。此外,如果失败,最好向用户发送一条消息,提及对象的“名称”。
我确信我需要使用 Group By 运算符来执行此操作,但我不习惯在 LINQ 中这样做,并且那里的示例对我没有帮助。 This article 似乎接近我需要的,但不完全是,它在 C# 中。
这是一个开始的尝试......
Dim duplist = _
(From o As objectType In lstOutcomes _
Group o By o.ID Into g = Group _
Let dups = g.Where(Function(h) g.Count > 1) _
Order By dups Descending).ToArray
if duplist.count > 0 then
valid = false
end if
帮助?
【问题讨论】:
-
@Magnus 您的文章是用 C# 编写的...这是我要解决的问题的一半!
-
我的答案有效...如果没有重复,则有效保持为真