Diferença de desempenho de igualdade de referência? ((objeto) obj1 == (objeto) obj2) vs. object.ReferenceEquals (obj1, obj2)

Existe uma sobrecarga extra no uso doobject.ReferenceEquals versos de métodos usando((object)obj1 == (object)obj2)?

No primeiro caso, haveria uma chamada de método estático envolvida e, em ambos os casos, alguma forma de conversão para um objeto estaria envolvid

Mesmo que o compilador equilibre esses métodos, e a desigualdad

(object)obj != null

em comparação com ...

!object.ReferenceEquals(obj,null)

Suponho que, em algum momento, ocorra uma negação lógica, dentro do operador! = Ou aplicada ao resultado do método ReferenceEquals. O que você acha

Há também a questão da legibilidade a considerar. O ReferenceEquals parece mais claro ao verificar a igualdade, mas, para a desigualdade, pode-se perder o! precedendoobject.ReferenceEquals, Considerando que a!= na primeira variação é difícil de ignora

questionAnswers(6)

yourAnswerToTheQuestion