c#中的数据类型如何与API中的类型定义对应

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 位

 

 

 

C++                  输入输出               C#
==================================
char chr[255]       O             StringBuilder
KCA_DIR             I              int
LPCSTR               I              string
int                      I              int
LPSTR                 O             StringBuilder
int*                    O             out int
DWORD              I               int
DWORD*            O              out int
BOOL                 I               bool
Rc_DBMgr           I               IntPtr
long*                 O              out long

 

 

API与C#的数据类型对应关系表
API数据类型 类型描述 C#类型 API数据类型 类型描述 C#类型
WORD 16位无符号整数 ushort CHAR 字符 char
LONG 32位无符号整数 int DWORDLONG 64位长整数 long
DWORD 32位无符号整数 uint HDC 设备描述表句柄 int
HANDLE 句柄,32位整数 int HGDIOBJ GDI对象句柄 int
UINT 32位无符号整数 uint HINSTANCE 实例句柄 int
BOOL 32位布尔型整数 bool HWM 窗口句柄 int
LPSTR 指向字符的32位指针 string HPARAM 32位消息参数 int
LPCSTR 指向常字符的32位指针 String LPARAM 32位消息参数 int
BYTE 字节 byte WPARAM 32位消息参数 int

posted @ 2008-08-03 11:37  Ceiba  阅读(1506)  评论(0编辑  收藏  举报