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
INT
int
System.Int32
UINT
unsigned int
System.UInt32
LONG
long
BOOL
DWORD
unsigned long
ULONG
CHAR
char
System.Char
用 ANSI 修饰。
LPSTR
char*
System.String 或 System.StringBuilder
LPCSTR
Const char*
LPWSTR
wchar_t*
用 Unicode 修饰。
LPCWSTR
Const wchar_t*
FLOAT
Float
System.Single
DOUBLE
Double
System.Double
64 位
类别
类名
Visual Basic 数据类型
C# 数据类型
C++ 托管扩展数据类型
JScript 数据类型
整数
Byte
8 位的无符号整数。
byte
SByte
8 位的有符号整数。
不符合 CLS。
无内置类型。
sbyte
signed char
Int16
16 位的有符号整数。
Short
Int32
32 位的有符号整数。
Integer
- 或 -
Int64
64 位的有符号整数。
Long
__int64
UInt16
16 位的无符号整数。
ushort
UInt32
32 位的无符号整数。
uint
UInt64
64 位的无符号整数。
ulong
unsigned __int64
浮点
Single
单精度(32 位)浮点数字。
float
双精度(64 位)浮点数字。
double
逻辑
Boolean
布尔值(真或假)。
bool
其他
Char
Unicode(16 位)字符。
wchar_t
Decimal
96 位十进制值。
decimal
IntPtr
大小取决于基础平台(32 位平台上为 32 位值,64 位平台上为 64 位值)的有符号整数。
UIntPtr
大小取决于基础平台的无符号整数(32 位平台上为 32 位值,64 位平台上为 64 位值)。
类对象
Object
对象层次结构的根。
object
Object*
String
Unicode 字符的不变的定长串。