C++和C#数据类型转换(常用)
| C++ | C# |
| HANDLE(void *) | System.IntPtr |
| Byte(unsigned char) | System.Byte |
| SHORT(short) | System.Int16 |
| WORD(unsigned short) | System.Int16 |
| INT(int) | System.Int16 System.Int32 |
| UINT(unsigned int) | System.Int16 System.Int32 |
| LONG(long) | System.Int32 |
| ULONG(unsigned long) | System.UInt32 |
| CHAR(char) | System.Char |
| BOOL | bool |
| LPSTR | System.string |
| LPWSTR | System.string |
| LPCSTR | System.string |
| LPCWSTR | System.string |
| 结构体 | public struct 结构体{} |
| 结构体 **变量名 | out 变量名 |
| 结构体 &变量名 | ref 变量名 |
| C++ | C# |
| UCHAR | int |
| UCHAR | byte |
| UCHAR* | string |
| UCHAR* | IntPtr |
| Handle | IntPtr |
| COLORREF | uint |
| unsigned char | byte |
| unsigned char* | ref byte |
|
[MarshalAs(UnmanagedType.LpArray)] byte[] |
|
|
[MarshalAs(UnmanagedType.LpArray)] IntPtr |
|
| unsigned char& | ref byte |
| unsigned char变量名 | byte 变量名 |
| unsigned short变量名 | short 变量名 |
| unsigned int变量名 | uint 变量名 |
| unsigned long变量名 | ulong 变量名 |
| unsigned char变量名 | byte 变量名 |
| C++ | C# |
| char 数组名[数组大小] |
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=数组大小)] public string 数组名 |
| char* | string |
| cons char* | string |
| char[] | string |
| 传入参数 | |
| char & | stringBuilder |
| 传出参数 | |
| char * | ref string |
| handle | IntPtr |
| hwnd | IntPtr |
| void* | IntPtr |

浙公网安备 33010602011771号