Я делаю некоторую классификацию, и я не уверен:
INT является примитивным типом данных с ключевым словом "интервал"
Но я могу использовать Int16, Int32 или Int64 - я знаю, что C# имеет свои собственные имена для них. Но те типы данных также, или это - все еще INT? И главным образом, мы можем сказать "короткий", тип данных, или INT16 является типом данных? Спасибо :)
В C# всегда верны следующие вещи:
short
== Int16
ushort
== UInt16
int
== Int32
uint
== UInt32
long
== Int64
ulong
== UInt64
Обе версии являются типами данных. Все они представляют собой целые числа различной длины и знаковости.
Основное различие между этими двумя версиями (насколько я знаю) заключается в том, каким цветом они выделяются в Visual Studio.
Ни в одном из других ответов не упоминался тип значения System.IntPtr
, разрядность которого зависит от платформы; например в 32-битной системе он имеет ширину 32 бита, а в 64-битной системе - 64 бита.
При этом, насколько я могу судить, этот тип не предназначен для использования вместо любого из других типов int
; его основное использование, вероятно, связано с вызовом P / Invoke к базовому системному API, где он обычно используется для хранения указателей .
short
- это тип данных, представляющий 16-битные целые числа (на 1 порядок ниже int
, то есть 32-битный).
Int16
на самом деле также является типом данных и является синонимом short
. То есть
Int16.Parse(someNumber);
также возвращает short
, то же самое, что:
short.Parse(someNumber)
То же самое с Int32
для int
и Int64
для длинный
.
В C # int
- это просто более короткий способ сказать System.Int32.
В .NET даже примитивные типы данных на самом деле являются объектами (производными от System.Object).
Итак, int в C # = целое число в VB.Net = System.Int32.
здесь есть диаграмма всех типов данных .NET: http://msdn.microsoft.com/en-us/library/47zceaw7%28VS.71%29.aspx
Это часть .NET Common Type System , которая обеспечивает бесшовное взаимодействие между языками .NET.