Задать вопрос
@Sasha_88

Сколько памяти занимает тип int в c#, если он наследуется от типа object?

Я так понимаю что более 32 бит. Там же всякие методы наследуются, как например tostring и прочие. И как это сказывается на производительности?
  • Вопрос задан
  • 921 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
ArXen42
@ArXen42
Это value type, там особого оверхеда на память нет, насколько я знаю, т.е. Int32 свои честные 32 бита и будет занимать. Об этом можно почитать в CLR via C# или вот статья, например:
https://habrahabr.ru/post/136609/

Сами по себе методы ничего не занимают, но любой объект (reference type) содержит ссылку на MethodTable, размещенный единожды (см статью).
Ответ написан
Комментировать
AnnTHony
@AnnTHony
Интроверт
Комментировать
Nipheris
@Nipheris Куратор тега C#
> Там же всякие методы наследуются, как например tostring и прочие.
Не следует понимать это "наследование" буквально. Это вам язык C# и его объектная модель показывают, что они как бы наследуются от Object. На самом деле там все несколько сложнее. Примитивные типы в большинстве случаев занимают столько, сколько должны. Они становятся объектами только тогда, когда это необходимо. Почитайте про boxing и unboxing value-типов, узнаете много нового.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы