日期:2014-05-19  浏览次数:20885 次

问两个类型转换的问题
1:如何从IntPtr转换为byte[].
2:vc中可以使用
long   i   =   200;
cstring   str;str.format( "data   is   0x% ",i);
来格式化输出0xaa形式的字符串,在c#中如何用字符串显示16进制??

------解决方案--------------------
帮顶!!!!!
------解决方案--------------------
i.ToString( "X2 ")
------解决方案--------------------
or try..

long count = 200;
Console.WriteLine(Convert .ToString (count ,16));

------解决方案--------------------
类似的做法:

long i = 200;
string s = string.Format( "{0:x} ", i);小写的

或:
long i = 200;
string s = string.Format( "{0:X} ", i); 大写的
------解决方案--------------------
1、

IntPtr P = new IntPtr(0x12345678);
byte[] vBytes = BitConverter.GetBytes((int)P);
Text = BitConverter.ToString(vBytes); // 输出用-_-!!!

------解决方案--------------------
byte[] pData = new byte[256];

IntPtr ptr=IntPtr.Zero;

int rv = Abc(ptr);//c++ 写的动态库函数
//public extern int Abc(IntPtr pData);

Marshal.PtrToStructure(ptr,pData);