int和System的区别是什么?Int16、系统。Int32和System。Int64,而不是它们的大小?


当前回答

int

它是c#中定义的基本数据类型。

它被映射到FCL类型的Int32。

它是一个值类型,表示System。Int32结构。

它是有符号的,长度为32位。

它具有最小值-2147483648和最大值+2147483647。

Int16

这是整柜型。

在c#中,short被映射为Int16。

它是一个值类型,表示System。Int16结构。

它带符号,长度为16位。

最小值为-32768,最大值为+32767。

Int32

这是整柜型。

在c#中,int被映射到Int32。

它是一个值类型,表示System。Int32结构。

它是有符号的,长度为32位。

它具有最小值-2147483648和最大值+2147483647。

Int64

这是整柜型。

在c#中,long被映射到Int64。

它是一个值类型,表示System。Int64结构。

它是有符号的,长度为64位。

它的最小值为-9,223,372,036,854,775,808,最大值为9,223,372,036,854,775,807。

其他回答

Int=Int32——>原始长类型 Int16——>原始int Int64—>在64位系统之后提供新的数据类型 "int"仅用于向后兼容。我们应该使用新的int类型使我们的程序更精确。 --------------- 我注意到的另一件事是,没有类似于Int16、Int32和Int64的名为Int的类。所有有用的函数,如TryParse for integer,都来自Int32.TryParse。

Int和int32是同一个(32位整数) Int16是短int(2字节或16位) Int64是长数据类型(8字节或64位)

它们告诉我们什么大小可以存储在一个整数变量中。为了记住大小,你可以这样想:-)2个啤酒(2字节),4个啤酒(4字节)或8个啤酒(8字节)。

Int16:- 2 beers/bytes = 16bit = 2^16 = 65536 = 65536/2 = -32768 to 32767 Int32:- 4 beers/bytes = 32 bit = 2^32 = 4294967296 = 4294967296/2 = -2147483648到2147483647 Int64:- 8 beers/bytes = 64 bit = 2^64 = 18446744073709551616 = 18446744073709551616/2 = -9223372036854775808到9223372036854775807

总之,你不能在int16中存储超过32767的值,超过 int32中的值大于9223372036854775807的值 int64。

为了理解上面的计算,你可以看看这个视频int16 vs int32 vs int64

int

它是c#中定义的基本数据类型。

它被映射到FCL类型的Int32。

它是一个值类型,表示System。Int32结构。

它是有符号的,长度为32位。

它具有最小值-2147483648和最大值+2147483647。

Int16

这是整柜型。

在c#中,short被映射为Int16。

它是一个值类型,表示System。Int16结构。

它带符号,长度为16位。

最小值为-32768,最大值为+32767。

Int32

这是整柜型。

在c#中,int被映射到Int32。

它是一个值类型,表示System。Int32结构。

它是有符号的,长度为32位。

它具有最小值-2147483648和最大值+2147483647。

Int64

这是整柜型。

在c#中,long被映射到Int64。

它是一个值类型,表示System。Int64结构。

它是有符号的,长度为64位。

它的最小值为-9,223,372,036,854,775,808,最大值为9,223,372,036,854,775,807。

他们确实是同义的,但是我发现他们之间的小区别,

1)创建enum时不能使用Int32

enum Test : Int32
{ XXX = 1   // gives you compilation error
}

enum Test : int
{ XXX = 1   // Works fine
}

2) Int32属于System声明。如果你不使用。在系统中,你会得到编译错误,但在int中不会