标签: 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
“包含”无效。我不断在用户列表中获得重复项。
答案 0 :(得分:5)
List.Contains()方法使用默认的相等运算符。由于TUser似乎是一个类,因此只有在两次比较中引用完全相同的TUser实例时,List.Contains()才会匹配,显然不是这种情况。请参阅更详细的说明here。
解决方案是根据示例here为TUser类实现相等覆盖。