【发布时间】:2014-02-11 13:49:47
【问题描述】:
我对此一头雾水,因为我不明白为什么会发生以下情况:
'//VB.NET
Dim product1 = New With {.Name = "paperclips", .Price = 1.29}
Dim product2 = New With {.Name = "paperclips", .Price = 1.29}
'compare product1 and product2 and you get false returned.
Dim product3 = New With {Key .Name = "paperclips", Key .Price = 1.29}
Dim product4 = New With {Key .Name = "paperclips", Key .Price = 1.29}
'compare product3 and product4 and you get true returned.
'//C#
var product5 = new {Name = "paperclips", Price = 1.29};
var product6 = new {Name = "paperclips", Price = 1.29};
//compare products 5 and 6 and you get true.
产品 1 和 2 发生了什么导致它们的行为不像产品 5 和 6?
【问题讨论】:
-
可能是由equals/==差异引起的。你如何比较它们?如果字段相同,C# equals 在 anynomus 类中返回 true。
标签: c# vb.net anonymous-types