В этом вопросе. мы обнаружили, что в .NET 1.1 Array.IndexOf(array, value)
искал элемент с
value.Equals(arrayElement) == true
в то время как .NET 2.0 изменил его для поиска элемента с
arrayElement.Equals(value) == true
Очевидно, что потенциальная разница между двумя результатами возникает из-за полиморфизма, но есть ли причина, по которой последняя версия предпочтительнее? В более общем смысле, если у меня есть два объекта a
и b
для сравнения, есть ли веская причина предпочесть a.Equals(b)
или b.Equals(a)
?
if ( value.Equals(arrayElement) == true )
, но, как говорит Остин, ударение в данном случае показалось полезным. - person stevemegson   schedule 28.08.2009