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

posted on 2013-01-14 20:23  3S 天空  阅读(1937)  评论(0编辑  收藏  举报

导航