Tom*_*asi 3 vb.net contains list
Sub pageload() Handles Me.Load
Dim bom As New List(Of Car)
Dim car1 As New Car With {.Name = "Pea", .Year = 2}
Dim car2 As New Car With {.Name = "Pea", .Year = 2}
bom.Add(car1)
MsgBox(bom.Contains(car2))
End Sub
Run Code Online (Sandbox Code Playgroud)
为什么???我的意思是对象具有完全相同的数据,为什么它说它没有被包含?
Meh*_*ari 15
该Contains方法通过调用Equals对象上的方法来测试相等性.除非你重写类中的Equals方法Car并实现自己的比较方法,Car否则通过引用标识(完全相同的对象)而不基于它们的内容相等,实例将被视为相等.
您创建的那些对象绝对不是同一个对象.证明:换一个不会改变另一个.