DataPointCollection
2 つの Integer プロパティと 1 つの Guid プロパティを持つカスタム オブジェクト ( ) があります。そのオブジェクトで HashCode を生成して、これらのプロパティで同じ値を持つ 2 つのオブジェクトが 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 クエリを実行するよりも高速であると考えました (これらのオブジェクトは非常に多数存在する可能性があります)。