C++与C#数据类型对照表 | |
C++数据类型 | C#数据类型 |
WORD | ushort |
DWORD | uint |
UCHAR | int/byte |
UCHAR* | string/InPtr |
unsigned char* | [MarshalAs(UnmanagedType.LPArray)]byte[]/(IntPtr) |
char* | string |
LPCTSTR | string |
LPTSTR | [MarshalAs(UnmanagedType.LPTStr)] string |
long | int |
ulong | uint |
Handle | IntPtr |
HWND | IntPtr |
void* | IntPtr |
int | int |
int* | ref int |
*int | IntPtr |
unsigned int | uint |
COLORREF | uint |
Windows(C++)与C#数据类型对照表 | |
Windows数据类型 | .NET数据类型 |
BOOL, BOOLEAN | Boolean or Int32 |
BSTR | String |
BYTE | Byte |
CHAR | Char |
DOUBLE | Double |
DWORD | Int32 or UInt32 |
FLOAT | Single |
HANDLE (and all other handle types, such as HFONT and HMENU) | IntPtr, UintPtr or HandleRef |
HRESULT | Int32 or UInt32 |
INT | Int32 |
LANGID | Int16 or UInt16 |
LCID | Int32 or UInt32 |
LONG | Int32 |
LPARAM | IntPtr, UintPtr or Object |
LPCSTR | String |
LPCTSTR | String |
LPCWSTR | String |
LPSTR | String or StringBuilder* |
LPTSTR | String or StringBuilder |
LPWSTR | String or StringBuilder |
LPVOID | IntPtr, UintPtr or Object |
LRESULT | IntPtr |
SAFEARRAY | .NET array type |
SHORT | Int16 |
TCHAR | Char |
UCHAR | SByte |
UINT | Int32 or UInt32 |
ULONG | Int32 or UInt32 |
VARIANT | Object |
VARIANT_BOOL | Boolean |
WCHAR | Char |
WORD | Int16 or UInt16 |
WPARAM | IntPtr, UintPtr or Object |
API与C#数据类型对照表 | |||||||
API数据类型 | 类型描述 | C#数据类型 | |||||
WORD | 16位无符号整数 | ushort | |||||
LONG | 32位无符号整数 | int | |||||
DWORD | 32位无符号整数 | uint | |||||
HANDLE | 句柄,32位整数 | int | |||||
UINT | 32位无符号整数 | uint | |||||
BOOL | 32位布尔型整数 | bool | |||||
LPSTR | 之乡字符的32位指针 | string | |||||
LPCSTR | 指向常字符的32位指针 | string | |||||
BYTE | 字节 | byte | |||||
CHAR | 字符 | char | |||||
DWORDLONG | 64位长度整数 | long | |||||
HDC | 设备描述表句柄 | int | |||||
HGDIOBJ | GDI对象句柄 | int | |||||
HINSTANCE | 实例句柄 | int | |||||
HWM | 窗口句柄 | int | |||||
HPARAM | 32位消息参数 | int | |||||
LPARAM | 32位消息参数 | int | |||||
WPARAM | 32位消息参数 | int | |||||
Wtypes.h与C#数据类型对照表 |
| ||||||
Wtypes.h中的非托管类型 | 非托管C语言类型 | 托管类名 | 位数 |
| |||
HANDLE | void* | IntPtr | 32 |
| |||
BYTE | unsigned char | Byte | 8 |
| |||
SHORT | short | Int16 | 16 |
| |||
WORD | unsigned short | UInt16 | 16 |
| |||
INT | int | Int32 | 32 |
| |||
UINT | unsigned int | UInt32 | 32 |
| |||
LONG | long | Int32 | 32 |
| |||
BOOL | long | Int32 | 32 |
| |||
DWORD | unsigned long | UInt32 | 32 |
| |||
ULONG | unsigned long | UInt32 | 32 |
| |||
CHAR | char | Char |
|
| |||
LPSTR | char* | StringStringBuilder用ANSI修饰 |
|
| |||
LPCSTR | Const char* | StringStringBuilder用ANSI修饰 |
|
| |||
LPWSTR | wchar_t* | StringStringBuilder用ANSI修饰 |
|
| |||
LPCWSTR | Constwchar_t* | StringStringBuilder用ANSI修饰 |
|
| |||
FLOAT | Float | Single | 32 |
| |||
DOUBLE | Double | Double | 64 |
| |||
|
|
|
|
| |||
C++与C#数据类型对照表 |
| ||||||
C++数据类型 | C#数据类型 |
| |||||
BOOL | Int32 |
| |||||
BOOLEAN | Int32 |
| |||||
BYTE | UInt16 |
| |||||
CHAR | UInt16 |
| |||||
COLORREF | UInt32 |
| |||||
DWORD | UInt32 |
| |||||
DWORD32 | UInt32 |
| |||||
DWORD64 | UInt64 |
| |||||
FLOAT | Float |
| |||||
HACCEL | IntPtr |
| |||||
HANDLE | IntPtr |
| |||||
HBITMAP | IntPtr |
| |||||
HBRUSH | IntPtr |
| |||||
HCONV | IntPtr |
| |||||
HCONVLIST | IntPtr |
| |||||
HCURSOR | IntPtr |
| |||||
HDC | IntPtr |
| |||||
HDDEDATA | IntPtr |
| |||||
HDESK | IntPtr |
| |||||
HDROP | IntPtr |
| |||||
HDWP | IntPtr |
| |||||
HENHMETAFILE | IntPtr |
| |||||
HFILE | IntPtr |
| |||||
HFONT | IntPtr |
| |||||
HGDIOBJ | IntPtr |
| |||||
HGLOBAL | IntPtr |
| |||||
HHOOK | IntPtr |
| |||||
HICON | IntPtr |
| |||||
HIMAGELIST | IntPtr |
| |||||
HIMC | IntPtr |
| |||||
HINSTANCE | IntPtr |
| |||||
HKEY | IntPtr |
| |||||
HLOCAL | IntPtr |
| |||||
HMENU | IntPtr |
| |||||
HMETAFILE | IntPtr |
| |||||
HMODULE | IntPtr |
| |||||
HMONITOR | IntPtr |
| |||||
HPALETTE | IntPtr |
| |||||
HPEN | IntPtr |
| |||||
HRGN | IntPtr |
| |||||
HRSRC | IntPtr |
| |||||
HSZ | IntPtr |
| |||||
HWINSTA | IntPtr |
| |||||
HWND | IntPtr |
| |||||
INT | Int32 |
| |||||
INT32 | Int32 |
| |||||
INT64 | Int64 |
| |||||
LONG | Int32 |
| |||||
LONG32 | Int32 |
| |||||
LONG64 | Int64 |
| |||||
LONGLONG | Int64 |
| |||||
LPARAM | IntPtr |
| |||||
LPBOOL | Int16[] |
| |||||
LPBYTE | UInt16[] |
| |||||
LPCOLORREF | UInt32[] |
| |||||
LPCSTR | String |
| |||||
LPCTSTR | String |
| |||||
LPCVOID | UInt32 |
| |||||
LPCWSTR | String |
| |||||
LPDWORD | UInt32 |
| |||||
LPHANDLE | UInt32 |
| |||||
LPINT | UInt32 |
| |||||
LPLONG | UInt32 |
| |||||
LPSTR | String |
| |||||
LPTSTR | String |
| |||||
LPVOID | UInt32 |
| |||||
LPWORD | UInt32[] |
| |||||
LPWSTR | String |
| |||||
LRESULT | IntPtr |
| |||||
PBOOL | Int16[] |
| |||||
PBOOLEAN | Int16[] |
| |||||
PBYTE | UInt16[] |
| |||||
PCHAR | Char[] |
| |||||
PCSTR | String |
| |||||
PCTSTR | String |
| |||||
PCWCH | UInt32 |
| |||||
PCWSTR | UInt32 |
| |||||
PDWORD | Int32[] |
| |||||
FPFLOAT | Float[] |
| |||||
PHANDLE | UInt32 |
| |||||
PHKEY | UInt32 |
| |||||
PINT | Int32[] |
| |||||
PLCID | UInt32 |
| |||||
PLONG | Int32[] |
| |||||
PLUID | Uint32 |
| |||||
PSHORT | Int16[] |
| |||||
PSTR | String |
| |||||
PTBYTE | Char[] |
| |||||
PTCHAR | Char[] |
| |||||
PTSTR | String |
| |||||
PUCHAR | Char[] |
| |||||
PUINT | UInt32[] |
| |||||
PULONG | UInt32[] |
| |||||
PUSHORT | UInt16[] |
| |||||
PVOID | UInt32 |
| |||||
PWCHAR | Char[] |
| |||||
PWORD | Int16[] |
| |||||
PWSTR | String |
| |||||
REGSAM | UInt32 |
| |||||
SC_HANDLE | IntPtr |
| |||||
SC_LOCK | IntPtr |
| |||||
SHORT | Int16 |
| |||||
SIZE_T | UInt32 |
| |||||
SSIZE | UInt32 |
| |||||
TBYTE | Char |
| |||||
TCHAR | Char |
| |||||
UCHAR | Byte |
| |||||
UINT | UInt32 |
| |||||
UINT32 | UInt32 |
| |||||
UINT64 | UInt64 |
| |||||
ULONG | UInt32 |
| |||||
ULONG32 | UInt32 |
| |||||
ULONG64 | UInt64 |
| |||||
ULONGLONG | UInt64 |
| |||||
USHORT | UInt16 |
| |||||
WORD | UInt16 |
| |||||
WPARAM | IntPtr |
| |||||