Невозможно переопределить static
членов - Object.Equals()
является статическим членом, и Char
не может переопределить его, даже если вы можете вызвать его на Charтип (параметры все еще имеют тип Object
)
Следовательно, не имеет значения, звоните ли вы
Object.Equals(object yourChar, object anotherChar)
или
Char.Equals(object yourChar, object anotherChar)
, поскольку произойдет боксв любом случае.
Чтобы избежать этого, используйте метод экземпляра, который переопределяется в Char
:
if (yourChar.Equals(anotherChar)) doSomething();