下表列出了 .NET Framework 支持的一些值类型,简要描述了每个类型,并指示 Visual Basic、C# 和 C++ 托管扩展中的相应类型。表中还包括 Object 和 String 类的项,这些项在许多语言中都有相应的关键字。
类别 | 类名 | 说明 | Visual Basic 数据类型 | C# 数据类型 | C++ 托管扩展数据类型 | JScript 数据类型 |
---|---|---|---|---|---|---|
整数 | Byte | 8 位的无符号整数。 | Byte | byte | char | Byte |
SByte | 8 位的有符号整数。
不符合 CLS。 |
SByte
无内置类型。 |
sbyte | signed char | SByte | |
Int16 | 16 位的有符号整数。 | Short | short | short | short | |
Int32 | 32 位的有符号整数。 | Integer | int | int
- 或 - long |
int | |
Int64 | 64 位的有符号整数。 | Long | long | __int64 | long | |
UInt16 | 16 位的无符号整数。
不符合 CLS。 |
UInt16
无内置类型。 |
ushort | unsigned short | UInt16 | |
UInt32 | 32 位的无符号整数。
不符合 CLS。 |
UInt32
无内置类型。 |
uint | unsigned int
- 或 - unsigned long |
UInt32 | |
UInt64 | 64 位的无符号整数。
不符合 CLS。 |
UInt64
无内置类型。 |
ulong | unsigned __int64 | UInt64 | |
浮点 | Single | 单精度(32 位)浮点数字。 | Single | float | float | float |
Double | 双精度(64 位)浮点数字。 | Double | double | double | double | |
逻辑 | Boolean | 布尔值(真或假)。 | Boolean | bool | bool | bool |
其他 | Char | Unicode(16 位)字符。 | Char | char | wchar_t | char |
Decimal | 96 位十进制值。 | Decimal | decimal | Decimal | Decimal | |
IntPtr | 大小取决于基础平台(32 位平台上为 32 位值,64 位平台上为 64 位值)的有符号整数。 | IntPtr
无内置类型。 |
IntPtr
无内置类型。 |
IntPtr
无内置类型。 |
IntPtr | |
UIntPtr | 大小取决于基础平台的无符号整数(32 位平台上为 32 位值,64 位平台上为 64 位值)。
不符合 CLS。 |
UIntPtr
无内置类型。 |
UIntPtr
无内置类型。 |
UIntPtr
无内置类型。 |
UIntPtr | |
类对象 | Object | 对象层次结构的根。 | Object | object | Object* | Object |
String | Unicode 字符的不变的定长串。 | String | string | String* | String |
平台调用数据类型
Wtypes.h 中的非托管类型 | 非托管 C 语言类型 | 托管类名 | 说明 |
---|---|---|---|
HANDLE | void* | System.IntPtr | 32 位 |
BYTE | unsigned char | System.Byte | 8 位 |
SHORT | short | System.Int16 | 16 位 |
WORD | unsigned short | System.UInt16 | 16 位 |
INT | int | System.Int32 | 32 位 |
UINT | unsigned int | System.UInt32 | 32 位 |
LONG | long | System.Int32 | 32 位 |
BOOL | long | System.Int32 | 32 位 |
DWORD | unsigned long | System.UInt32 | 32 位 |
ULONG | unsigned long | System.UInt32 | 32 位 |
CHAR | char | System.Char | 用 ANSI 修饰。 |
LPSTR | char* | System.String 或 System.StringBuilder | 用 ANSI 修饰。 |
LPCSTR | Const char* | System.String 或 System.StringBuilder | 用 ANSI 修饰。 |
LPWSTR | wchar_t* | System.String 或 System.StringBuilder | 用 Unicode 修饰。 |
LPCWSTR | Const wchar_t* | System.String 或 System.StringBuilder | 用 Unicode 修饰。 |
FLOAT | Float | System.Single | 32 位 |
DOUBLE | Double | System.Double | 64 位 |