background image

//c++:unsigned long 

      

变量名

----    c#:ulong 

        

变量名

//c++:char 

       

变量名

----    c#:byte 

   

变量名

//C++中一个字符用一个字节表示,C#

        

中一个字符用两个字节表示

//c++:char 数组名[数组大小]     ----    c#:MarshalAs(UnmanagedType.ByValTStr, 

SizeConst = 数组大小)]        
public string 数组名; ushort        

//c++:char *            ----    c#:string       

//

        

传入参数

//c++:char *            ----    c#:StringBuilder

//

        

传出参数

//c++:char *

      

变量名

----    c#:ref string 

        

变量名

//c++:char *

  

输入变量名

----    c#:string 

        

输入变量名

//c++:char *

  

输出变量名

----    c#:[MarshalAs(UnmanagedType.LPStr)] StringBuilder 输出

        

变量名
//c++:char **           ----    c#:string        
//c++:char **

     

变量名

----    c#:ref string 

        

变量名

//c++:const char *      ----    c#:string        
//c++:char[]            ----    c#:string        

//c++:char 变量名[数组大小]     ----    c#:
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=数组大小)] public string 变量名;     

//c++:struct 

 

结构体名

*

   

变量名

----    c#:ref 

 

        

结构体名 变量名

//c++:

 

   

委托 变量名

----    c#:

 

        

委托 变量名

//c++:int       ----    c#:int        
//c++:int       ----    c#:ref int        

//c++:int &     ----    c#:ref int        
//c++:int *     ----    c#:ref int      

//C#中调用前需定义 int 

 

变量名

= 0;        

//c++:*int      ----    c#:IntPtr        

//c++:int32 PIPTR *     ----    c#:int32[]        
//c++:float PIPTR *     ----    c#:float[]                

//c++:double** 

          

数组名

----    c#:ref double 

        

数组名

//c++:double*[] 

          

数组名

----    c#:ref double 

        

数组名

//c++:long          ----    c#:int        
//c++:ulong         ----    c#:int                

//c++:UINT8 *       ----    c#:ref byte       
//C#中调用前需定义 byte 

 

变量名

= new byte();                

//c++:handle    ----    c#:IntPtr        
//c++:hwnd      ----    c#:IntPtr                        

//c++:void *    ----    c#:IntPtr                
//c++:void * user_obj_param    ----    c#:IntPtr user_obj_param        

//c++:void * 

    

对象名称

----    c#:([MarshalAs(UnmanagedType.AsAny)]Object 对象名称 

//c++:char, INT8, SBYTE, CHAR                               ---- 

c#:System.SByte          
//c++:short, short int, INT16, SHORT                        ---- 

c#:System.Int16          
//c++:int, long, long int, INT32, LONG32, BOOL , INT        ---- 

c#:System.Int32          
//c++:__int64, INT64, LONGLONG                              ---- 

c#:System.Int64          
//c++:unsigned char, UINT8, UCHAR , BYTE                    ----    c#:System.Byte 

//c++:unsigned short, UINT16, USHORT, WORD, ATOM, WCHAR , __wchar_t 
----    c#:System.UInt16          

//c++:unsigned, unsigned int, UINT32, ULONG32, DWORD32, ULONG, DWORD, UINT