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

开发 后端
C#操作内存读写方法是什么呢?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#操作内存读写方法有所帮助。

【编辑推荐】

  1. C#操作文本文件实例浅析
  2. C#操作文本文件之添加文本操作浅析
  3. C#操作文本文件应用实例简析
  4. C#操作文本文件演练实例浅析
  5. C#操作内存之指针浅析
责任编辑:仲衡 来源: it55.com
相关推荐

2009-08-20 10:25:37

C#操作内存

2009-08-20 11:07:07

C#共享内存

2009-09-18 10:58:31

C#数组操作

2009-08-17 13:34:02

C#异步操作

2009-09-11 09:15:06

C# get方法

2009-08-20 16:15:19

C# 匿名方法

2009-09-10 14:52:55

C# get

2009-08-10 17:36:17

C#扩展方法

2009-09-07 06:07:46

C#窗体设计

2009-08-18 13:49:21

C# 操作Excel

2011-05-20 15:37:05

MemoryStrea

2009-08-17 17:56:32

C# 枚举

2009-09-10 09:10:17

C# TextBox换

2009-08-18 16:04:12

C# 操作Excel

2009-08-19 09:42:52

C#操作Word书签

2009-09-01 09:37:15

C#写文件

2009-08-19 11:34:06

C#操作Word

2009-08-19 11:13:49

C#操作Word

2009-08-25 15:59:28

C#串口操作

2009-08-31 18:38:59

C#写文件
点赞
收藏

51CTO技术栈公众号