Этот вопрос проверяет понимание различий в поведении виртуальных методов при вызове на структурах и связанных с этим затрат на производительность.
Короткий ответ
При вызове GetType() на структуре происходит боксинг, так как этот метод наследуется от object и не переопределен в структуре. При вызове ToString() боксинг не происходит, если структура переопределяет этот метод. Для GetType() структура упаковывается в object, чтобы получить доступ к методу. Для ToString() компилятор может вызвать переопределенную версию напрямую, избегая боксингa.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.