int 72
Это вопрос в нашей дискуссии в классе C#. Я сказал 2 байта, другие сказали, что он использует 32 бита или 4 байта из-за целочисленного типа. Что правильно?Сколько места на складе занимает следующее место?
int 72
Это вопрос в нашей дискуссии в классе C#. Я сказал 2 байта, другие сказали, что он использует 32 бита или 4 байта из-за целочисленного типа. Что правильно?Сколько места на складе занимает следующее место?
Вы должны быть более конкретными. Вам интересно о:
Существует множество разных «затрат», связанных с появлением целочисленного литерала, такого как (int)72
, появляющегося в программе. Если это часть более крупного выражения, во время компиляции может возникнуть упрощение, так что предельная стоимость выполнения литерала не является чем-то вообще (за исключением того, что отладчик отображает более длинный фрагмент исходного кода).
Как долго является частью строки?
Это зависит от того, какой процессор archrue вы используете (и, возможно, даже того, какой компилятор вы используете). This page объясняет - и дает вам свой ответ.
К счастью, в спецификации Common Type System «int» 32 бита для всех архитектур и компиляторов. –
В большинстве случаев он будет потреблять 4 байта в стеке. Это связано с тем, что int
- ключевое слово C#, которое отображается в Int32
в Common Type System (CTS).
Все становится немного сложнее, если оно должно быть в коробке. См. Статью this для объяснения бокса. Значение в коробке фактически потребляет 12 байтов (по крайней мере, в 32-битной системе) в куче; 4 для фактических данных, 4 для синхроблока и 4 - дескриптор типа или таблица методов.
Так что вопрос не совсем такой простой.
А, хорошо о синтаксисе. Слишком усталый прямо сейчас, я прямо не замечал, что: | – Joey