类型 | 位数 | 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 | 是 | 有 |
C#中函数,变量的的整型主要分为以上几类。
有符号整形和字节型是属于“通用语言认证系统”(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字节)。