Int32 по сравнению с Int64 по сравнению с интервалом в C# [дубликат]

Относительно operator< < и оператор>> нет никакого серьезного основания завести этих друзей операторов. Это верно, что они не должны быть функциями членства, но они не должны быть друзьями, также.

лучшая вещь сделать, создают общедоступную печать (ostream&) и читают (istream&) функции. Затем запишите operator< < и оператор>> с точки зрения тех функций. Это приносит дополнительную пользу разрешения Вам сделать те функции виртуальными, который обеспечивает виртуальную сериализацию.

17
задан Community 23 May 2017 в 12:34
поделиться

6 ответов

int - это псевдоним для Int32

long - псевдоним для Int64

Их размеры вообще не изменится, просто используйте тот, который вам нужен.

Их использование в вашем коде никоим образом не связано с 32-битными и 64-битными машинами.

РЕДАКТИРОВАТЬ: Что касается комментариев о безопасности потоков. Вот хороший вопрос и ответы, в которых подробно описаны любые проблемы, о которых вам нужно знать. В C # опасно использование Int64 на 32-битном процессоре

27
ответ дан 30 November 2019 в 10:58
поделиться

На 32-битных и 64-битных машинах:

  • long 64-битный, это синоним System.Int64 .
  • int - 32-битный, это синоним System.Int32 .
7
ответ дан 30 November 2019 в 10:58
поделиться

Тебе не о чем беспокоиться. int - это Int32 - 32-битное целое число со знаком, и оно не изменится, независимо от используемой вами платформы.

См. Спецификация Microsoft C # (раздел 1.3), спецификация ECMA C # (раздел 8.2.1) и спецификация ECMA CLI (раздел 8.2.2).

7
ответ дан 30 November 2019 в 10:58
поделиться

Просто НЕТ . Типы согласованы.

2
ответ дан 30 November 2019 в 10:58
поделиться

Целое 32-битное число Long - 64-разрядный

На 32- и 64-разрядных процессорах

2
ответ дан 30 November 2019 в 10:58
поделиться

Я использовал Int32 в первый год работы с .NET (затем 1.0). В основном это сделано для межъязыковой читаемости, поскольку Int32 в VB выглядит так же, как и в C #. Оглядываясь назад, я вижу, что все это беспокойство было глупым. Используйте собственные типы и не переживайте.

1
ответ дан 30 November 2019 в 10:58
поделиться