最详细的C++对应C#的数据类型转换

本文详细介绍了C++数据类型与C#之间的转换规则,包括基本数据类型如BOOL、HANDLE、CHAR等,以及结构体和字符串类型的转换,并提供了一个用于将字节数组转换为C#结构体的示例函数。
摘要由CSDN通过智能技术生成

C++ ---------------------- C#

LDWORD ----------------IntPtr

LLONG-------------------Intptr

bool ---------------------bool、byte

HANDLE(void   *)--------------System.IntPtr

void*-------------------------------IntPtr

Byte(unsigned   char)-------------System.Byte

SHORT(short)----------------------System.Int16

WORD(unsigned   short)---------System.UInt16

INT(short int) -----------------------System.Int16

INT(long int)-------------------------System.Int32

UINT(unsigned short int) --------System.UInt16

UINT(unsigned long int) ---------System.UInt32

LONG(long)-------------------------System.Int32

ULONG(unsigned   long)--------System.UInt32

DWORD(unsigned   long)-------System.UInt32

DECIMAL                                   ----    System.Decimal
BOOL(long)                                ----    System.Boolean
CHAR(char)                                ----    System.Char
LPSTR(char   *)                           ----    System.String
LPWSTR(wchar_t   *)                       ----    System.String
LPCSTR(const   char   *)                  ----    System.String
LPCWSTR(const   wchar_t   *)              ----    System.String
PCAHR(char   *)                           ----    System.String
BSTR                                      ----    System.String
FLOAT(float)                              ----    System.Single(float)
DOUBLE(double)                            ----    System.Double
VARIANT                                   ----    System.Object
PBYTE(byte   *)                           ----    System.Byte[]
BSTR                                      ----    StringBuilder
LPCTSTR                                   ----    StringBuilder
LPCTSTR                                   ----    string
LPTSTR                                    ----    [MarshalAs(UnmanagedType.LPTStr)] string
LPTSTR 输出变量名                         ----    StringBuilder 输出变量名
LPCWSTR                                   ----    IntPtr
BOOL                                      ----    bool 
HMODULE                                   ----    IntPtr  
HINSTANCE                                 ----    IntPtr
结构体                                    ----    public struct 结构体{};
结构体 **变量名                           ----    out 变量名   //C#中提前申明一个结构体实例化后的变量名
结构体 &变量名                            ----    ref 结构体 变量名
WORD                                      ----    ushort
DWORD                                     ----    uint
DWORD                                     ----    int
UCHAR                                     ----    int
UCHAR                                     ----    byte
UCHAR*                                    ----    string
UCHAR*                                    ----    IntPtr
GUID                                      ----    Guid
Handle                                    ----    IntPtr
HWND                                      ----    IntPtr
DWORD                                     ----    int
COLORREF                                  ----    uint


unsigned char                             ----    byte
unsigned char *                           ----    ref byte
unsigned char *                           ----    [MarshalAs(UnmanagedType.LPArray)] byte[]
unsigned char *                           ----    [MarshalAs(UnmanagedType.LPArray)] Intptr

unsigned char &                           ----    ref byte
unsigned char 变量名                      ----    byte 变量名
unsigned short 变量名                     ----    ushort 变量名
unsigned int 变量名                       ----    uint 变量名
unsigned long 变量名                      ----    ulong 变量名

char 变量名                               ----    byte 变量名   //C++中一个字符用一个字节表示,C#中一个字符用

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值