C++ C#
=====================================
WORD ushort
DWORD uint
UCHAR int/byte 大部分情况都可以使用int代替,而如果需要严格对齐的话则应该用bytebyte
UCHAR* string/IntPtr
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
API与C#的数据类型对应关系表
|
API数据类型 |
类型描述 |
C#类型 |
API数据类型 |
类型描述 |
C#类型 |
WORD |
16位无符号整数 |
ushort |
CHAR |
字符 |
char |
LONG |
32位无符号整数 |
int |
DWORDLONG |
64位长整数 |
long |
DWORD |
32位无符号整数 |
uint |
HDC |
设备描述表句柄 |
int |
HANDLE |
句柄,32位整数 |
int |
HGDIOBJ |
GDI对象句柄 |
int |
UINT |
32位无符号整数 |
uint |
HINSTANCE |
实例句柄 |
int |
BOOL |
32位布尔型整数 |
bool |
HWM |
窗口句柄 |
int |
LPSTR |
指向字符的32位指针 |
string |
HPARAM |
32位消息参数 |
int |
LPCSTR |
指向常字符的32位指针 |
String |
LPARAM |
32位消息参数 |
int |
BYTE |
字节 |
byte |
WPARAM |
32位消息参数 |
int |
BOOL=System.Int32
BOOLEAN=System.Int32
BYTE=System.UInt16
CHAR=System.Int16
COLORREF=System.UInt32
DWORD=System.UInt32
DWORD32=System.UInt32
DWORD64=System.UInt64
FLOAT=System.Float
HACCEL=System.IntPtr
HANDLE=System.IntPtr
HBITMAP=System.IntPtr
HBRUSH=System.IntPtr
HCONV=System.IntPtr
HCONVLIST=System.IntPtr
HCURSOR=System.IntPtr
HDC=System.IntPtr
HDDEDATA=System.IntPtr
HDESK=System.IntPtr
HDROP=System.IntPtr
HDWP=System.IntPtr
HENHMETAFILE=System.IntPtr
HFILE=System.IntPtr
HFONT=System.IntPtr
HGDIOBJ=System.IntPtr
HGLOBAL=System.IntPtr
HHOOK=System.IntPtr
HICON=System.IntPtr
HIMAGELIST=System.IntPtr
HIMC=System.IntPtr
HINSTANCE=System.IntPtr
HKEY=System.IntPtr
HLOCAL=System.IntPtr
HMENU=System.IntPtr
HMETAFILE=System.IntPtr
HMODULE=System.IntPtr
HMONITOR=System.IntPtr
HPALETTE=System.IntPtr
HPEN=System.IntPtr
HRGN=System.IntPtr
HRSRC=System.IntPtr
HSZ=System.IntPtr
HWINSTA=System.IntPtr
HWND=System.IntPtr
INT=System.Int32
INT32=System.Int32
INT64=System.Int64
LONG=System.Int32
LONG32=System.Int32
LONG64=System.Int64
LONGLONG=System.Int64
LPARAM=System.IntPtr
LPBOOL=System.Int16[]
LPBYTE=System.UInt16[]
LPCOLORREF=System.UInt32[]
LPCSTR=System.String
LPCTSTR=System.String
LPCVOID=System.UInt32
LPCWSTR=System.String
LPDWORD=System.UInt32[]
LPHANDLE=System.UInt32
LPINT=System.Int32[]
LPLONG=System.Int32[]
LPSTR=System.String
LPTSTR=System.String
LPVOID=System.UInt32
LPWORD=System.Int32[]
LPWSTR=System.String
LRESULT=System.IntPtr
PBOOL=System.Int16[]
PBOOLEAN=System.Int16[]
PBYTE=System.UInt16[]
PCHAR=System.Char[]
PCSTR=System.String
PCTSTR=System.String
PCWCH=System.UInt32
PCWSTR=System.UInt32
PDWORD=System.Int32[]
PFLOAT=System.Float[]
PHANDLE=System.UInt32
PHKEY=System.UInt32
PINT=System.Int32[]
PLCID=System.UInt32
PLONG=System.Int32[]
PLUID=System.UInt32
PSHORT=System.Int16[]
PSTR=System.String
PTBYTE=System.Char[]
PTCHAR=System.Char[]
PTSTR=System.String
PUCHAR=System.Char[]
PUINT=System.UInt32[]
PULONG=System.UInt32[]
PUSHORT=System.UInt16[]
PVOID=System.UInt32
PWCHAR=System.Char[]
PWORD=System.Int16[]
PWSTR=System.String
REGSAM=System.UInt32
SC_HANDLE=System.IntPtr
SC_LOCK=System.IntPtr
SHORT=System.Int16
SIZE_T=System.UInt32
SSIZE_=System.UInt32
TBYTE=System.Char
TCHAR=System.Char
UCHAR=System.Byte
UINT=System.UInt32
UINT32=System.UInt32
UINT64=System.UInt64
ULONG=System.UInt32
ULONG32=System.UInt32
ULONG64=System.UInt64
ULONGLONG=System.UInt64
USHORT=System.UInt16
WORD=System.UInt16
WPARAM=System.IntPtr
<---------补充----------->
Wtypes.h 中的非托管类型 非托管C 语言类型 托管类名 说明
HANDLEvoid* System.IntPtr 32 位
BYTEunsigned char System.Byte 8 位
SHORTshort System.Int16 16 位
WORDunsigned short System.UInt16 16 位
INTint System.Int32 32 位
UINTunsigned int System.UInt32 32 位
LONGlong System.Int32 32 位
BOOLlong System.Int32 32 位
DWORDunsigned long System.UInt32 32 位
ULONGunsigned longSystem.UInt32 32 位
CHARchar System.Char 用 ANSI 修饰。
LPSTRchar* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPCSTRConst char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPWSTRwchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
LPCWSTRConst wchar_t*System.String 或 System.StringBuilder 用 Unicode 修饰。
FLOATFloat System.Single 32 位
DOUBLEDouble System.Double 64 位
转自:http://www.cnblogs.com/yiki/archive/2008/10/29/1321848.html
相关推荐
C#与C++数据类型对照,可以查询c#和c++所对应的数据类型。
C# 与C++ 数据类型对照 WORD ushort DWORD uint UCHAR int/byte 大部分情况都可以使用int代替,而如果需要严格对齐的话则应该用bytebyte
C#与C++数据类型对照,包括所有数据类型
本人慢慢在网上各地收集及自己验证后总结的C/C++和C#的数据类型对照.没有完全 验证..组织部 类型太多了..要怪就怪C/C++的type define这个该死的语法 吧...
c++和c#数据类型对照 c++ c# 数据类型 DLL COM 主要是C++与C#互调时的类型对照
C++和C#之间接口封装与调用参考。
C#与C、C++类型对照表
在C#编程中,常会用到C++中的dll类库,简单介绍一下它们的对应关系。
c++,c#函数类型对照表 最近接触WINAPI比较多,一直要查数据类型间的对应关系,所以就转载一下~
关于c++ 和c#数据类型的比较,在做项目移植的时候,经常会碰到数据类型的转换,文中讲解C/C++中的结构怎样转换到C#,并提供多张对照表参考
以为这篇搜集整理的代码会是很不错的文章,花了一天时间,搜索到最后居然出来一篇叫做"C# 与 C++ 数据类型对照表"的文章.几乎囊括掉和大部分的数据了,太打击我了. 本文中有部分的数据没有测试.也有一些不错的是看了上...
这篇文章主要讨论vb.net语言和c#.net语言在语法上的不同,vb.net和c#.net有一系列微妙的差异,变量的申明和赋值,数据类型,语句终止的方式,语句块的表述,使用的变量括号,操作符的不同,条件语句的不同,错误处理...