日期:2014-05-18 浏览次数:20837 次
类型 |
位数 |
System. |
与CLS兼容? |
有无符号 |
sbyte |
8 |
SByte |
否 |
有 |
ushort |
16 |
UInt16 |
否 |
无 |
uint |
32 |
UInt32 |
否 |
无 |
ulong |
64 |
UInt64 |
否 |
无 |
|
|
|
|
|
byte |
8 |
Byte |
是 |
无 |
short |
16 |
Int16 |
是 |
有 |
int |
32 |
Int32 |
是 |
有 |
long |
64 |
Int64 |
是 |
有 |
有符号整形和字节型是属于“通用语言认证系统”(CLS)的。而无符号整形不属于CLS。
你可以使用原始的类型关键字(如int)或与之对应的别名(如System.Int32),这两种方法都是可行的。但唯一例外的情况是:当你把类型名作为.net framework函数实参的时候,你只能使用System.Int32,而不能使用int。例如,你必须这样调用:Type.GetType("System.Int32"),而Type.GetType("int")语句是错误的。这是因为int只是C#中的关键字,而.net framework函数是设计成在所有的.net语言中都通用的。必须注意的是byte在C#中是无符号的。
注意:byte和sbyt只有8位,因此它们不能作为数组的元素,因为数组元素的最小尺寸是16位(2字节)。