Возможный дубликат:
Предполагая 32-битные ints
Итак, я где-то читал, что int равно int32 в С#. Верно ли это также и на 64-битных машинах? Должен ли я использовать int32 только для того, чтобы никто в Microsoft не решил изменить размер int?
Возможный дубликат:
Предполагая 32-битные ints
Итак, я где-то читал, что int равно int32 в С#. Верно ли это также и на 64-битных машинах? Должен ли я использовать int32 только для того, чтобы никто в Microsoft не решил изменить размер int?
int
является псевдонимом для Int32
long
является псевдонимом для Int64
Их размеры не изменятся, просто используйте то, что вам нужно использовать.
Использование их в вашем коде никак не связано с 32-битными и 64-битными машинами
EDIT: В отношении комментариев о безопасности потоков. Вот хороший вопрос и ответы, которые подробно описывают любые проблемы, о которых вам нужно знать. В С# используется Int64 для 32-разрядного процессора опасно
На 32-битных и 64-битных машинах:
long
- 64-разрядный, это синоним System.Int64
.int
- 32-разрядный, это синоним System.Int32
.Вам не нужно беспокоиться. int
- это Int32
- это 32-разрядное целое число со знаком, и это не изменится, независимо от используемой платформы.
См. Microsoft С# spec (раздел 1.3), ECMA С# spec (раздел 8.2.1) и спецификация ECMA CLI (раздел 8.2.2).
Просто НЕТ. Типы согласованы.
Целое число - 32 бит Длинные 64 бит
На 32-битных и 64-разрядных процессорах
Я использовал Int32 в первый год работы с .NET(затем 1.0). В основном это делалось для чтения на разных языках, поскольку Int32 выглядит так же, как и в VB, как в С#. Оглядываясь назад, я вижу, что все это было глупо. Используйте родные типы и не потейте.