我有一个DataPointCollection
带有两个 Integer 属性和一个 Guid 属性的自定义对象 ( )。我希望该对象生成一个 HashCode,以便不会将这些属性中具有相同值的两个对象添加到 HashSet。我知道我需要重写该GetHashCode()
方法,但是如何生成哈希码来完成此操作?
这就是我想要使用它的方式。
Dim dataPointCollections As New HashSet(Of DataPointCollection)()
For Each row As DataRow In myDataSet.Tables(0).Rows
Dim dataPointCollection As New DataPointCollection()
dataPointCollection.ProjectID = row("ProjectID") 'Integer'
dataPointCollection.RoleID = row("RoleID") 'Integer'
dataPointCollection.ResourceGUID = row("ResourceGUID") 'Guid'
If Not dataPointCollections.Contains(dataPointCollection) Then
dataPointCollections.Add(dataPointCollection)
End If
Next
我对其他想法持开放态度,但我认为这可能比对对象集合执行 LINQ 查询更快(这些对象可能非常多)。