1

X と Y の 2 つのプロパティを持つキーとして設定されたカスタム クラスがあります。

私はこれに似たものを持っています:

Dim test As New List(of TestClass)
Dim key as New TestData

key._a = A
key._b = B

For Each a As TestClass In SomeCollection
  If Not test.Contains(key) Then
     'Do Stuff
  End If
Next

私の質問はこれです: .Contains on the List(of T) はどのように動作しますか? 同一のデータ構造を探しますか、それとも単にキーのプロパティの 1 つに一致しますか?

可能であれば、これに関するドキュメントを参照できるリンクを含めてください。

EDIT メソッドは Typesafe を含んでいますか?

4

2 に答える 2

5

メソッドを使用Equalsして身元を確認します。

デフォルトでは (オーバーライドされていない場合) 、2 つの参照が同一であるか、2 つの構造体がメンバーごとに等しい場合に返されますEqualstrue

于 2009-02-27T19:00:40.850 に答える
2

昨日、同じ質問をしたばかりです:)

TestClass は、IEquatable(of T) http://msdn.microsoft.com/en-us/library/ms131187(VS.80).aspxインターフェイスを実装して、タイプ セーフにする必要があります。

于 2009-02-27T19:14:33.217 に答える