集合.Contains()不起作用

时间:2010-10-13 23:34:59

标签: vb.net

我到处检查,无法找到解决方案。我有以下

Dim users as New List(of TUser)

Private Sub AddSelectedUsers()

For Each user as TUser in gridSelectedItems()

If Not users.Contains(user) Then

users.Add(user)

End If

Next

End Sub 

“包含”无效。我不断在用户列表中获得重复项。

1 个答案:

答案 0 :(得分:5)

List.Contains()方法使用默认的相等运算符。由于TUser似乎是一个类,因此只有在两次比较中引用完全相同的TUser实例时,List.Contains()才会匹配,显然不是这种情况。请参阅更详细的说明here

解决方案是根据示例here为TUser类实现相等覆盖。