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 |