Проблема заключается не в том, что у объекта int
в штучной упаковке - это прекрасно работает, так как вы можете легко попробовать себя.
Проблема возникает только в том случае, когда object
фактически не содержит int
, а отличается от другого числового типа, например. short
или byte
- в этом случае вы должны сначала удалить его соответствующим образом (например, (short)objectValue
) и , затем сделать сравнение. Unboxing boxed short
to int
результатов в InvalidCastException
- вы должны использовать точный тип со значениями.
Кроме того, обычно нет необходимости использовать Equals
для этого - просто сделайте (int)objectValue == intValue
или около того.
Что такое objectValue? –
'((object) 3) .Equals (3)' возвращает 'true', поэтому у вас проблема в другом месте. – Luaan
Кроме того: что такое 'objectValue.GetType(). FullName'; p –