Для моей реализации метода Equals() я хочу проверить кучу внутренних полей. Я делаю это так:
...
_myNullableInt == obj._myNullableInt &&
_myString == obj._myString &&
...
Я бы предположил, что это сравнивает значения, включая null, для равенства, а не для адреса объекта (в качестве операции сравнения ссылочной эвтальности), поскольку:
Это сказано для "предопределенных типов значений" в этом документе MSDN здесь.
Я предполагаю, что Nullable<int>
является таким "предопределенным типом значений" из-за того, что он находится в пространстве имен System
в соответствии с этим документом MSDN.
Можно ли предположить, что здесь сравниваются значения VALUES?
Примечание. Ед. тесты показали "Да", но я хотел, чтобы другие были уверены в этом вопросе, на всякий случай, когда я что-то пропустил.