En utilisant == ou .Equals () pour la comparaison booléenne

J'ai relu un peu de code, et j'ai trouvé quelque chose qui ressemblait à ceci:

public class MyClass
{
    public bool IsEditable { get; set; }

    public void HandleInput()
    {
        if (IsEditable.Equals(false))
        {
            //do stuff
        }
    }
}

Autant que je sache, (IsEditable.Equals(false)) est identique à (IsEditable == false) (et aussi le même que (!IsEditable)).

En plus de la préférence personnelle, quelle est la différence entre .Equals() et ==spécifiquement lorsqu'il est utilisé pour comparer bools?

source d'informationauteur Ryan Kohn