C++与.net数据类型对应表
C#调用DLL文件时参数对应表
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 位 |
类别 |
类名 |
说明 |
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 |