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
我的问题是这样的:List(of T) 上的 .Contains 的行为如何?它是否寻找相同的数据结构,或者只是匹配我的密钥的属性之一?
如果可以的话,请附上一个链接,我可以在其中查看一些与此相关的文档。
编辑Contains 方法类型安全吗?
解决方案
它使用Equals
方法来检查身份。
默认情况下(如果没有覆盖)Equals
返回true
如果两个参考是相同的或两种结构是相等的成员逐一。
其他提示
我刚问 同样的问题 昨天 :)
你的 TestClass 应该实现 IEquatable(T) http://msdn.microsoft.com/en-us/library/ms131187(VS.80).aspx 接口以使其类型安全
不隶属于 StackOverflow