除了大小之外,int、System.Int16、System.Int32和System.Int64之间还有什么区别?
发布于 2012-03-14 14:08:00
每种类型的整数具有不同的存储容量范围
Type Capacity
Int16 -- (-32,768 to +32,767)
Int32 -- (-2,147,483,648 to +2,147,483,647)
Int64 -- (-9,223,372,036,854,775,808 to +9,223,372,036,854,775,807)正如James Sutherland在his answer中所说的
int和Int32确实是同义词;int看起来会更熟悉一些,Int32使32位对于那些阅读您的代码的人更加明确。我倾向于在我只需要“一个整数”的地方使用int,在大小很重要的地方使用Int32(密码代码,结构),这样将来的维护者就会知道如果合适的话,扩大int是安全的,但也应该注意以同样的方式改变Int32变量。
生成的代码将是相同的:区别完全在于可读性或代码外观。
发布于 2012-03-14 13:58:17
这里唯一真正的区别是大小。这里的所有int类型都是具有不同大小的有符号整数值
Int16:2 bytesInt32和bytesInt64:4 int:8字节Int64和其他语言之间有一个小的区别。在32位平台上,对Int64存储位置的分配不能保证是原子的。对于所有其他类型都是有保证的。
发布于 2014-06-06 13:20:50
int
它是在C#中定义的原始数据类型。
它被映射到FCL类型的Int32。
它是一个值类型,表示System.Int32结构。
它是带符号的,需要32位。
它的最小值为-2147483648,最大值为+2147483647。
Int16
它是FCL类型。
在C#中,short映射到Int16。
它是一个值类型,表示System.Int16结构。
它是带符号的,需要16位。
它的最小值为-32768,最大值为+32767。
Int32
它是FCL类型。
在C#中,int被映射到Int32。
它是一个值类型,表示System.Int32结构。
它是带符号的,需要32位。
它的最小值为-2147483648,最大值为+2147483647。
Int64
它是FCL类型。
在C#中,long被映射到Int64。
它是一个值类型,表示System.Int64结构。
它是带符号的,需要64位。
它的最小值为-9,223,372,036,854,775,808,最大值为9,223,372,036,854,775,807。
https://stackoverflow.com/questions/9696660
复制相似问题