int,Int16,Int32和Int64有什么区别?

intSystem.Int16System.Int32System.Int64除了它们的大小之外有什么区别?


每种类型的整数具有不同的存储容量范围

   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在他的回答中所述:

intInt32确实是同义词; int会更加熟悉, Int32使32位对读取代码更加明确。 我会倾向于在我只需要'整数'的Int32中使用int, Int32中的大小很重要(密码代码,结构),以便将来的维护人员知道在适当的情况下放大int是安全的,但应该注意改变Int32变量一样的方法。

生成的代码将完全相同:区别纯粹是可读性或代码外观之一。


这里唯一真正的区别是尺寸。 这里所有的int类型都是有符号的整数值,它们具有不同的大小

  • Int16 :2个字节
  • Int32int :4个字节
  • Int64 :8个字节
  • Int64和其他的有一点区别。 在32位平台上,对Int64存储位置的分配不保证是原子性的。 它保证所有其他类型。


    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的价值。

    链接地址: http://www.djcxy.com/p/21045.html

    上一篇: What is the difference between int, Int16, Int32 and Int64?

    下一篇: What is the difference between an int and an Integer in Java and C#?