C#操作内存读写方法

本篇内容主要讲解“C#操作内存读写方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作内存读写方法”吧!

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

using System.Runtime.InteropServices;  using System.Text;  public class Function  {   //C#操作内存读写方法public static byte PtrToByte( int Ptr )  {  byte b = Marshal.ReadByte( ( IntPtr ) Ptr );   return b;  }   public static char PtrToChar( int Ptr )  {  byte b = Marshal.ReadByte( ( IntPtr ) Ptr );   return ( char ) b;  }   public static short PtrToShort( int Ptr )  {  short b = Marshal.ReadInt16( ( IntPtr ) Ptr );   return b;  }   //C#操作内存读写方法public static ushort PtrToUShort( int Ptr )  {  ushort b = ( ushort ) Marshal.ReadInt16( ( IntPtr ) Ptr );   return b;  }   public static int PtrToInt( int Ptr )  {  int b = Marshal.ReadInt32( ( IntPtr ) Ptr );   return b;  }   public static uint PtrToUInt( int Ptr )  {  uint b = ( uint ) Marshal.ReadInt32( ( IntPtr ) Ptr );   return b;  }   public static long PtrToLong( int Ptr )  {  long b = Marshal.ReadInt64( ( IntPtr ) Ptr );   return b;  }  //C#操作内存读写方法 public static ulong PtrToULong( int Ptr )  {  ulong b = ( ulong ) Marshal.ReadInt64( ( IntPtr ) Ptr );   return b;  }    // Convert an ip address stored an address to equivalent string value  public static string GetPtrToIpAddr(int intPtr, int varlen)  {  int i = 0;  StringBuilder sb = new StringBuilder(0,varlen*4);  byte[] byx = new byte[varlen];   // ip address cann't have zero value C#操作内存读写方法  // ip address cann't have zero length C#操作内存读写方法if( ( intPtr == 0 ) || ( varlen == 0 ) ) return "";  Marshal.Copy( ( IntPtr ) intPtr , byx , 0 , varlen );  for( i = 0; i < varlen - 1; i ++ )  {  sb.Append(byx[i]);  sb.Append('.');   }  sb.Append(byx[varlen - 1]);   return sb.ToString();   }   }

到此,相信大家对“C#操作内存读写方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!