== vs. Object.Equals (objeto) no .NET

Então, quando eu era um novato comparativo ao novato que estou agora, eu costumava pensar que essas duas coisas eram açúcar sintático uma para a outra, ou seja, que usar uma sobre a outra era simplesmente uma preferência pessoal. Com o tempo, descobri que esses dois não são a mesma coisa, mesmo em uma implementação padrão (vejaisto eisto). Para confundir ainda mais o assunto, cada um pode ser substituído / sobrecarregado separadamente para ter significados completamente diferentes.

Isso é uma coisa boa, quais são as diferenças e quando / por que você deveria usar uma sobre a outra?

questionAnswers(9)

yourAnswerToTheQuestion