返回false时,两个看似相等的变量(值和类型相同)

时间:2014-07-05 04:26:35

标签: c# asp.net

这怎么可能?

enter image description here

我错过了什么?

2 个答案:

答案 0 :(得分:2)

他们目前已装入object,这两个对象不是同一个对象,这意味着==失败。如果您将它们解包到int,那么它将会成功:

(int)model.value == (int)model.metadata.Model // true

或者您可以致电Equals这应该有效:

model.value.Equals(model.metadata.Model) // true

答案 1 :(得分:0)

==运算符 只有当操作数是值类型且它们的值相等时,它才返回true,否则返回false

C# difference between==and .Equals()