C#操作内存读写方法浅析

C#操作内存读写方法是什么呢?让我们来看看具体的实例实现:

伊美网站建设公司创新互联,伊美网站设计制作,有大型网站制作公司丰富经验。已为伊美上千家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的伊美做网站的公司定做!

 
 
 
  1. using System.Runtime.InteropServices;  
  2. using System.Text;  
  3. public class Function  
  4. {  
  5.  //C#操作内存读写方法
  6. public static byte PtrToByte( int Ptr )  
  7. {  
  8. byte b = Marshal.ReadByte( ( IntPtr ) Ptr );  
  9.  
  10. return b;  
  11. }  
  12.  
  13. public static char PtrToChar( int Ptr )  
  14. {  
  15. byte b = Marshal.ReadByte( ( IntPtr ) Ptr );  
  16.  
  17. return ( char ) b;  
  18. }  
  19.  
  20. public static short PtrToShort( int Ptr )  
  21. {  
  22. short b = Marshal.ReadInt16( ( IntPtr ) Ptr );  
  23.  
  24. return b;  
  25. }  
  26.  //C#操作内存读写方法
  27. public static ushort PtrToUShort( int Ptr )  
  28. {  
  29. ushort b = ( ushort ) Marshal.ReadInt16( ( IntPtr ) Ptr );  
  30.  
  31. return b;  
  32. }  
  33.  
  34. public static int PtrToInt( int Ptr )  
  35. {  
  36. int b = Marshal.ReadInt32( ( IntPtr ) Ptr );  
  37.  
  38. return b;  
  39. }  
  40.  
  41. public static uint PtrToUInt( int Ptr )  
  42. {  
  43. uint b = ( uint ) Marshal.ReadInt32( ( IntPtr ) Ptr );  
  44.  
  45. return b;  
  46. }  
  47.  
  48. public static long PtrToLong( int Ptr )  
  49. {  
  50. long b = Marshal.ReadInt64( ( IntPtr ) Ptr );  
  51.  
  52. return b;  
  53. }  //C#操作内存读写方法
  54.  
  55. public static ulong PtrToULong( int Ptr )  
  56. {  
  57. ulong b = ( ulong ) Marshal.ReadInt64( ( IntPtr ) Ptr );  
  58.  
  59. return b;  
  60. }  
  61.  
  62.  
  63. // Convert an ip address stored an address to equivalent string value  
  64. public static string GetPtrToIpAddr(int intPtr, int varlen)  
  65. {  
  66. int i = 0;  
  67. StringBuilder sb = new StringBuilder(0,varlen*4);  
  68. byte[] byx = new byte[varlen];  
  69.  
  70. // ip address cann't have zero value C#操作内存读写方法  
  71. // ip address cann't have zero length C#操作内存读写方法
  72. if( ( intPtr == 0 ) || ( varlen == 0 ) ) return "";  
  73. Marshal.Copy( ( IntPtr ) intPtr , byx , 0 , varlen );  
  74. for( i = 0; i < varlen - 1; i ++ )  
  75. {  
  76. sb.Append(byx[i]);  
  77. sb.Append('.');  
  78.  
  79. }  
  80. sb.Append(byx[varlen - 1]);  
  81.  
  82. return sb.ToString();  
  83.  
  84. }  
  85.  

C#操作内存读写方法的基本内容就向你介绍到这里,希望对你了解和学习C#操作内存读写方法有所帮助。

分享名称:C#操作内存读写方法浅析
本文路径:http://www.hantingmc.com/qtweb/news13/129363.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联