c# - 是SHORT数据类型还是INT?

时间:2010-08-07 16:34:04

标签: c# specifications

我正在做一些分类,我不确定:

INT是一种原始数据类型,其关键字为“int”

但我可以使用Int16,Int32或Int64 - 我知道C#有自己的名字。但这些数据类型是否仍然是INT?主要是,我们可以说“short”是数据类型还是INT16是数据类型? 谢谢:))

4 个答案:

答案 0 :(得分:23)

在C#中,以下内容始终如一:

  • short == Int16
  • ushort == UInt16
  • int == Int32
  • uint == UInt32
  • long == Int64
  • ulong == UInt64

两个版本都是数据类型。以上所有都是各种长度和签名的整数。

两个版本之间的主要区别(据我所知)是在Visual Studio中突出显示的颜色。

答案 1 :(得分:3)

short是一种表示16位整数的数据类型(低于int的1阶,即32位)。

Int16实际上也是一种数据类型,与short同义。也就是说,

Int16.Parse(someNumber);

还会返回short,与:

相同
short.Parse(someNumber)

Int32的{​​{1}}和int的{​​{1}}也是如此。

答案 2 :(得分:2)

在C#中,int只是说System.Int32的一种较短的方式。

在.NET中,即使是原始数据类型实际上也是对象(派生自System.Object)。

因此,C#中的int = VB.Net = System.Int32中的整数。

这里有一个包含所有.NET数据类型的图表:http://msdn.microsoft.com/en-us/library/47zceaw7%28VS.71%29.aspx

这是.NET Common Type System的一部分,它允许.NET语言之间的无缝互操作性。

答案 3 :(得分:0)

任何其他答案中没有提到的是值类型System.IntPtr,其位宽是特定于平台的;例如在32位系统上,它是32位宽,而在64位系统上,它是64位宽。

话虽如此,从我可以收集到的所有内容中,这种类型并不意味着实际上用于代替任何其他int类型;它的主要用途可能在于P / Invoke到底层系统API,它通常用于保存指针