Список VB.NET (из X). Содержит поведение
-
09-09-2019 - |
Вопрос
У меня есть собственный класс, настроенный как ключ с двумя свойствами: 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 интерфейс, обеспечивающий безопасность ввода