Вопрос

У меня есть собственный класс, настроенный как ключ с двумя свойствами: X и Y.

У меня есть что-то похожее на это:

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 в списке (из T)?Ищет ли он идентичную структуру данных или просто соответствует одному из свойств моего ключа?

Если можете, дайте ссылку, где я могу посмотреть документацию по этому поводу.

РЕДАКТИРОВАТЬЯвляется ли метод «Содержит» типобезопасным?

Это было полезно?

Решение

Он использует Equals метод проверки личности.

По умолчанию (если не переопределено) Equals возвращает true если две ссылки идентичны или две структуры равны по элементам.

Другие советы

Я просто спросил тот же вопрос вчера :)

Ваш TestClass должен реализовать IEquatable(из T) http://msdn.microsoft.com/en-us/library/ms131187(VS.80).aspx интерфейс, обеспечивающий безопасность ввода

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top