在this question。我们发现,在.NET 1.1,Array.IndexOf(array, value)
搜索元素与其中.Equals()方法使用
value.Equals(arrayElement) == true
而.NET 2.0改成了搜索元素与
arrayElement.Equals(value) == true
显然,两个结果之间的电位差产生于多态性,但是有什么理由为什么后者版本更可取?更一般地说,如果我有两个对象a
和b
进行比较,是否有任何理由更喜欢a.Equals(b)
或b.Equals(a)
?
==真是我的祸根。 – recursive 2009-08-28 14:20:04
虽然我同意你@recursive,但在这种情况下,它强调了代码片断的重点。 – 2009-08-28 14:23:33
我不会写'if(value.Equals(arrayElement)== true)',但正如Austin所说,在这种情况下,重点似乎很有用。 – stevemegson 2009-08-28 14:26:30