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类型都是带符号的整型值,大小不同

Int16: 2字节 Int32和int: 4字节 Int64: 8字节

Int64和其他的有一个小的区别。在32位平台上,分配给Int64存储位置不保证是原子的。对于所有其他类型都是保证的。

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

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

1)创建enum时不能使用Int32

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

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

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

它们告诉我们什么大小可以存储在一个整数变量中。为了记住大小,你可以这样想:-)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