我正在做一些分类,我不确定:
INT是一种原始数据类型,其关键字为“int”
但我可以使用Int16,Int32或Int64 - 我知道C#有自己的名字。但这些数据类型是否仍然是INT?主要是,我们可以说“short”是数据类型还是INT16是数据类型? 谢谢:))
答案 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,它通常用于保存指针。