C# 与 C++类型对应表

      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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN.LG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值